One talk with your players to see if their game style matches yours. Do they want to be murder hobos where they always get a get out of jail card because they are the stars? Or do bad deeds cause bad things to them.
Since one player just wants to bring in another pc then the Paladin is in trouble. I see three different ways to settle this. 1. New pc and paladin fights the witch and win. 2 They lose. And the witch becomes a minor villain for a couple episodes. Too many ways to plot this after the lost.
3. They run away and never go back.
The trouble is, at least from my experience and I feel the OP might have a similar mindset to me, you get resentful of having to turn characters into villains just because the players decide they want to fight the NPC. The OP has created an interesting NPC and now they have to put her in a villain-to-be-killed box because their players can't stand to have someone they can't look down on or beat up. I could be projecting from my own experiences - OP can and should correct me if I'm way off the mark. But what they've described has strong echoes from groups I've GM'd for and I've really resented the universe of characters being this cheeseboard for players to choose who should be a villain regardless of the actual role or morals I'd envisioned for that NPC.