To what level do you fill the heat exchanger with antifreeze/coolant?
If the engine is cold and you fill it to the neck where the cap resides then when the engine runs and heats up the coolant will expand. That expansion will cause the antifreeze to be spit out into the bilge unless you have a small tank or bottle [ recovery bottle] of a litre to 1.5 litre or a bit more that is connected to a nipple on the side of the heat exchanger cap neck that runs to the bottle.
If you do not have the small bottle then you are probably overfilling the system and it will continue to spit coolant out.
Is there a nipple on the cap neck side with a hose attached leading to the bilge? If so then put the hose end into a bottle , secure the bottle, and next time you are out then check the bottle for coolant. If there is coolant then you are overfilling it.
Either leave the coolant level down from the cap neck about 1.5" [~ 36mm]
or 2" [~50mm] . You may have to experiment a bit to learn the level the engine needs to stop spitting into the bilge.
I would also suggest that you go around and check EVERY hose connection that the clamps are tight. Not cranked hard but well snugged. All hoses can take a set, shrink, over time thus releasing some of the clamp pressure.
Any looseness can allow coolant to escape.