Surely you mean punishing the character not the player?
The character should have a whole lot of horrible things happen to them. Wake up in a gimp suit? Be kept as "blood on tape"? Raped(1)? At least wake up naked covered in marker pen with inappropriate (and bad) drawing on his face. Certainly, the character should have been robbed of all they had on them.
Maybe that's what the player wants to happen. Are they going for a slow but sure decent into despair? Trying to gain whatever little control they have since the curse is playing havoc with their free will? ...
Alternatively, do have a talk with the player asking them about it. Depending on their reactions, you can either kick them out of the game, let it slide as a "whoops, wasn't I lucky", or commence with the poor character's descent into hell.
(1) Rape is a horrible, violent, and vile thing. It should be reported to the Police if after the fact. Each and every one of us should step in to stop and prevent it, if we ever have the misfortune of being around the event. Most rapist are well known to the victim, this is why "No Means No" is an important message. I hope this state my position on the issue clears: it is a wrong, despicable, vile, and horrible act. However, I have dealt with rape, racisms, mass murder, sociopathy, psychopathy, insanity, torture, paedophilia, xenocide, genocide, and many other horrible things in more than one game. Note that if any of my players objected to a theme, it was dropped without much ado. There is always a full disclosure of themes before I run a game. Some of my players were affected by the above themes and agreed to have them run within my game.
Talk to your players
That is solution #1 to any and every problematic player in any game.
Start calling him or her in private and say that the comportment he or she is expressing is bad for the health of the game, because you fear it will end up slipping to real life flames instead of only PC flames.
If he or she thinks this will not be a problem and he or she can differentiate PC's actions from player's actions, then you escalate this to the next step: Talk to the whole group at once. Ask if everyone agree with the off-hand comments in game, and if anyone think it is inappropriate. If the whole group agree that this is ok, then you don't have a problem anymore.
However, if anyone, even if it just a single player, don't like those kind of comments during the game, go back to step 1. Repeat until you enter in an agreement.
Worst case scenario, if no one wants to concede, you might be forced to stop inviting one of the players to your table to avoid long-term self-destructive group behavior. But in my experience, if everyone are friends in real life, they'll reach an agreement eventually.
Best Answer
You were not being a jerk
Both of your players were offered agency: the one got the chance to attack an NPC and the other got the chance to interfere with a murder.
If the player who attacked the NPC is upset about this, what you next do is discuss with them why they feel that way, and why they feel that killing NPC's out of hand is a solution to a problem when the other members of the party do not.
What if this comes up again?
Death saving throws for NPC's is within your remit as the DM to use.
Monsters and Death
You can use this for any NPC, not only "special ones," as suits the situation. This way the PC could drop an NPC 0 HP but the other PCs have a chance to try and stabilize / heal the downed NPC if they are against this.
Experience as a player
About a month ago, my Life domain Cleric did this very thing when a few of the other PCs (my brother is the DM) got carried away with an argument with the town guards and ended up dropping three of them to 0 HP. I did my best to stabilize / heal them. The DM went along with it based on the above rule. It worked out in the end for two of them, but the third one had taken "massive damage" so I convinced the other PCs (my nephew's Rogue/Ranger backed my play) to pay the widow a weregild. That happened during the next play session.
RP wise, it made for a neat session. Story wise, it turned out that some people across the river heard of our efforts to make amends and it resulted in our making more contacts, etc, with NPCs.
Experience with this as DM
The party encountered some hobgoblins mounted on Dire Wolves who did not attack, but approached the party. The party simply attacked them. The last hobgoblin tried to surrender but the party wizard zapped him with a firebolt.
So I had him make death saving throws. He passed. When the Rogue went to loot the hobgoblin I let him know "this one's still alive; unconscious but stable." He chose to ask the Cleric to heal the hobgoblin. With a revived hobgoblin, they had a discussion about the real threat in the area: ogres, zombies, and ogre zombies (Led by a wight). Those monsters had been a problem for the hobgoblin village a bit further north. The party ended up letting the hobgoblin go home. (I now jokingly refer to the wizard as Quickdraw).