Should they avoid doing that because it’s working really well at putting their opponents in a bad spot, while costing them almost nothing?

Those ships are bearing goods from (or taking goods to) countries that are hosting US forces attacking them. They’re valid targets, and blockading their shipping… I mean, the US does that to countries that haven’t even helped attack us, seems insane to suggest it’s somehow a foul to do that to countries that are helping attack you.