Instead of constantly duplicating past contract templates, you can also save contracts as templates, and you can do that from your list of contracts.
Just select 'Save as template' from the dropdown, enter a name for it that will help you identify it in the future, and voila...
Now, you can select it from the available templates the next time you create a new contract. This will automatically fill in all past fields (except the client information, which is inherited from the project you're using).
Note: You cannot rename the templates or delete them for the time being. You can always create new templates reflecting your changes, though.