Uninvited guests do suck, we've had it happen a few times as well and it's certainly awkward to say "yeah no we only invited you".
The way I look at it people have a few strikes on their invite, screw up a time or two no big deal but there comes a point when you stop getting invited.
I've got one friend who's girlfriend just sucks and ruins everyone's time every time so they just don't get invited anymore a little awkward but hey I'm not letting someone else ruin everyone's day on the lake.
A simple"Hey we like to plan ahead for the number of people on the boat so we can have the right number of life jackets, food, beer etc so please let us know ahead of time if you're bringing someone and be ready for us to say no if we don't have the room" shoudl work fine.
We said no to someone's plus 1 on memorial day as we already had 10 and I don't like more than that if the water is cold. They understood fine and it wasn't an issue.

