Players killed NPCs with personal connections to them without a second thought, yet they still claim to be good guys?

Edit 3: I’ve read through all the comments so far and I’m grateful for all the responses, both confirming my stance and those showing a different perspective. Sorry if I haven’t responded to most comments. My last concern reading a lot of suggestions is that they react poorly if I give them consequences. Like if the NPCs had pacts with patrons or powerful relationships or an entity notices their behavior, I’m afraid that they will call it bullcrap or a deus ex machina to make them feel bad. They’ve reacted similarly in the past where, if there are in game consequences that don’t make logical sense as having previously been possible, they react negatively. Like saying that a patron of a dead NPC wants to punish them, they wouldn’t think it makes sense for them to have a patron and would probably call me out as just trying to punish them. Any suggestions in this case? I’m not really in a spot to change groups

Alright, so I set up an encounter with my 3 players onboard a ship with a crew and 4 NPCs. Each NPC had a personal backstory connection to each: one was a close trade associate of a PC, another was a childhood friend, another was a former enslaved magic beast that was freed by a PC, and the last was a former child slave they bought and took under their wing.

They get attacked out of nowhere by the crew and NPCs who have coordinated an attack. The first player goes and lands a REALLY big hit. we implement house rules to bestow grave injuries and environment affects and the like to make it more narrative driven. First hit, first attack, and then other PCs are telling him to rip all his limbs off (which with our house rules and his roll he can do). I tell him to wait first and drop hints (which I then confirm out of game) that they are being controlled via chemicals released from a hidden villain hiding on the ship. They still do it. Then another PC shoots the arm of the kid, then the same one shoots the magical beast in the head and makes him brain dead. The last NPC gets shot to death. They have magical capabilities to heal them, but the final player decides to turn them into an undead homunculus puppet.

All players and apparently their characters are fine with this. I say “ok fine, but you are essentially evil then.” They say “no those NPcs were just weak because we didn’t become mind controlled.” This is their logic in and out of game; we aren’t evil it’s just eat or be eaten. Am I in the wrong here? I feel like they completely went against the way they’ve played and described their characters up to this point

Edit: I should clarify that when I dropped hints, I clarified for them as players by saying “you look at this and know they are being mind controlled” so that they didn’t misunderstand the hint as players. The reason I need help is, if they claim to be good guys but act as bad guys, then that changes the kind of possible moral dilemmas I give them in the future if any.

Edit 2: let me state exactly what the hint and clarification was. as the pc was about to maim the NPC, I went over to a different NPC. He uncorked a bottle of purple liquid and inhaled it deeply, his eyes turned purple, and you smell a strong scent from the bottle. He tells the PC to “just inhale deeply.” I then straight up say “your character can tell that he is acting completely different from how he usually is. You see the eyes of the other NPCs are similar and they are almost definitely being controlled. You think if you just know them out or can cleanse their mind then they should snap out of it.” The players then said “they’re too big of a threat and too mentally weak. What f they lose control again?” And proceeded to dispatch each one