I really avoid screws into the
fiberglass shell. If they are overtightened, they tear up the area around the hole. Most RV parts which are screwed in are assumed to be fastened to plywood, not a thin
fiberglass shell.
Rivets will certainly work, although I don't like the process of removing them (if vent replacement or repair is required, in this case); a threaded fastener (bolt or screw) is easier to deal with in that respect.
For my MaxxFan vent, I wanted to attach a spacer on the inside; rivets would not have worked for that, although screws would have. Instead, I used small nuts and bolts.
One problem with nuts and bolts is that you normally need to reach both sides at the same time, which can be tough in many situations. In my case, the MaxxFan consists of a collar which installed first, with the fan dropped into it as a final step. It's easy to reach through the opening (stood up through the opening for the outside work), so there would be no problem in the MaxxFan case.
I actually used tee nuts embedded in the wooden spacer on the inside, but that would not be applicable to a normal vent installation - regular nuts would work.
I used stainless steel bolts, because I dislike dealing with rusted fasteners, and I wanted to be able to leave the head on the outside exposed. Stainless is not necessary.