Stainless is definitely the way to go, strong and no corrosion.
Where possible I use a bolt and a nut instead of a screw.
Depending on the integrity of the original holes I sometimes drill them slightly larger if the
fiberglass is compromised and I'm using a nut and bolt. I sometimes use an epoxy to fill the original hole if I'm using screws however it may be difficult to remove them should you need to later.
Whether screws of bolts, use ones with flat (underneath) heads. The wider the head the stronger the union.
I use faucet washers from the hardware store to seal against leaks. They are sturdy, durable and cheap.
Place a stainless flat washer, the same diameter as the faucet washer, over the head of the screw or bolt and then the faucet washer.
Don't over tighten to distort the washer.
Caulking doesn't always work well under pressure although I have used it. Before tightening the screw or bolt head all the way in put a drop of caulking on the shaft and screw it in until the drop of caulking fills the space between the head of the bolt or screw and the material it is being screwed into but don't tighten it completely or all the caulking will squeeze out. When the caulking has set tighten in the screw or bolt the final turn. In effect, you are making a soft washer to seal out moisture.
Screws or bolts with faucet washers won't leak, even under pressure. Half the homes in the country still use them in their taps.