Two different problems, both maintenance not materials
Your odor out the vent is coming from inside the tank. Your odor in the head is most likely stagnant sea water trapped in the head intake or some animal or vegetable sea life that's been pulled in and is dying/decaying...or a shower sump that needs cleaning.Flush out the tank VERY thoroughly. Make sure there's no buildup or blockage in the tank vent...flush it out very thoroughly when you flush out the tank. (And btw, that should be done at least 2-3x/season, especially in preparation for winter layup). Switch from whatever you're using in the tank now (if anything) to a tank product called Odorlos. Be sure to use it according to directions! Disconnect your head intake line from the thru-hull ('twould be a good idea to close the seacock first) and stick it in a bucket of clean fresh water to which you've added a quart of distilled white vinegar--only WHITE vinegar, not cider or any other kind. Pump the whole bucketful through the toilet to rinse out anything that may be caught in the system.Clean any shower sump too. A wet dirty sump can smell just like sewer.You might want to check out the link below...it'll take you to a comprehensive "marine toilets and holding tanks 101" guide that will help you learn to maintain your system to prevent problems instead of having to solve 'em.