Why is it hajo and not hajok as there is more than one ship in the sentence?
When you have a word that describes the number, or quantity, of the noun, the noun stays singular. That's the way to do it in Hungarian.
Úszni means to to swim but does it also mean to sail?
Yes, its main meaning is to swim, but it can mean to propagate in or even float on water.