Unless people object to it, the behavior will continue. I'm that guy who'll tell someone who drops a cigarette butt to pick it up; to which the response is usually indignation or they ignore me, I figure at least I annoyed them.
And this is why they continue to do it. You get a response of indignation when you order random strangers in a free society how to behave. You'll get better results if you use guilt instead of demands.
I would welcome a law enforcement branch that patrols the streets to prevent and punish these sorts of offenses. You can enact law after law, but if there's no enforcement then change is going to be elusive.