In our old CRM there was an option when sending a quote to select the specific contract and invoice template for that quote like the attached picture. What this does is allow you to send 2 different quotes to the same customer allowing them to decide which is better for them to accept, which then sends the appropriate templates you specifically assigned to that quote.
This would greatly ease sending multiple quotes to the same opportunity. The way it is setup now, we send 2 different quotes, automation then does a if contains block for the name, ie "Service 1" then sends the appropriate contract that applies to that service. This requires an overly complicated automation with multiple decision blocks to look at each quote name to send the contract type you may have.
It gets even more complicated if you want them to sign a contract before sending the invoice via this method since you would need to add more logic to automations.