the difference is oda used sanji's gag as a plot point so i can't help but take it seriously. Those nosebleeds were fucking stupid and really brought down Sanji's character in my eyes.
Atleast Oda thinks it makes sense, Sanji passed 2 years without seeing women, then he is suddenly in the middle of a bunch of mermaids he literally dreamed about since the pre-timeskip, but it was just that and no more, Zoro getting lost is just dumb and has no explanation (atleast its funny sometimes). Being used as a plot point works in the same way for Zoro getting lost (at Wano for example, or Dressrosa), or Luffy being an idiot, childish and inconsequent to the point of eating a super poisonous fish and almost dying.