Context, mostly. In the same way that it’s all right for a soldier to kill during a time of war, or a police officer to kill in the line of duty, Wolverine doesn’t set out to kill people–and when he does, it’s typically in the service of saving other people, either his teammates or innocent people. And it’s something that he struggles with. The Punisher, on the other hand, is simply there to kill people–bad people, sure, at least as far as he’s concerned, but the point remains. He is not acting defensively or coming from a reactive position, he is actively going out into the world to murder people. That right there is the difference, at least in my opinion.