Do not paint it with deck paint!
Most carpet I've seen has been glued down with contact cement. I don't remember any being removable. Haven't decided if I think that is a good idea yet.
I'm assuming that there is no floor, just the open hull. I think it would be a really bad idea, on multiple levels, to try drilling in snaps.
If you wanted to do magnets, I kinda like that idea. I would get neodymium iron boron magnets and hold them down with 3M 5952 tape, .045 x 3/4"
https://www.rshughes.com/p/3M-5952-Black-VHB-Tape-3-4-In-Width-X-15-Yd-Length-45-Mil-Thick-25522/051115_25522/This tape will adhere better to a smooth surface.
Make sure you get plaited magnets, because the NdFeB magnets are highly susceptible to corrosion. Plated magnets can not be bonded to, but I believe that tape will. I don't know how the tape will tolerate emerson in water and possibly oil and gas, should you have a spill.
Stitch pockets, for the magnets, into the carpet.
You should test this concept before you install it in your boat.
I do have to throw out a disclaimer. It would be a terrible thing if the carpet came loose and slipped, causing an injury or becoming entangled in the engine.