I think you will find Coda works very well for items 1-3, however, the sharing in item 3 will be a point of friction as presumably what you are sharing is not public and thus, they will need to register a Coda account via the Google email address you share it with to view it. Sames goes for item 2 but presumably it will be repeated internal contacts so once they create an account they will be set.
If the information is fine to display publicly, you can share via a link, which would reduce the friction significantly.
For item 4, you can make your own customized workflow for document approval, but it is a bit more involved.
I would suggest you have 1 master Coda document that serves as your document generator workflow. From there you can use a service like https://www.integromat.com/en/integrations/coda to automatically create copies of your existing templates based on project/client type, but then you will need to handle the sharing manually.
For item 5, you can organize your entire set of Coda docs inside of Google Drive and you can manage sharing from there as well.
My gut tells this should work pretty well for you, but the sharing friction may be the biggest problem for your use case. It’s important to know this is a holistic problem with Coda that they are working on. This survey is prompted if someone doesn’t have a Google account to use: https://trycoda.typeform.com/to/ZoKQ55
Hope this helps, thanks!