It was made pretty clear that our heroes hated the concept of existing in multiple. No matter how this was achieved - growing in vats like "Up the Long Ladder" or thrown back in time like in "Time Squared" - the very concept was so repugnant to them that they would have gone to war about it had that been necessary.
Our society may think differently, but theirs was consistent about that: duplicates must cease to exist. Sure, they may be living creatures and all - but they are just echoes of you, and nothing is lost from the universe if they are removed. Anybody can do it for you, but it's the simplest if you do it yourself and also happen to be a Starfleet officer empowered to enforce law and policy on the spot. It's not a matter of punishing, or venting anger, or anything; things like guilt are irrelevant to the issue. It's simply a matter of negating abominations.
FWIW, from many episodes, it's clear that our heroes have a mandate to kill. They are soldiers, after all, and the wars they fight are never declared. It's very difficult to find a TNG or DS9 character who wouldn't have terminated at least a couple of lives, and very few of those "victims" pointed a gun at the heroes. if our heroes only killed in self-preservation, they wouldn't be doing their jobs.
As for Odo, he doesn't care about the law: he is the law. But on DS9, he is at least theoretically supposed to be the Bajoran law, which is highly unlikely to be anything like UFP law, what with one of the political entities in question being a perverse theocracy full of alien ideas and the other being, well, Bajor.
Timo Saloniemi