Using both npc and villain on the same question is fine, and we definitely shouldn't remove the former just because the latter's present. The purpose of tags is "connecting experts with questions," and they "can also be used to help you identify questions that are interesting or relevant to you." The two will both do that just fine together.
Without the npc tag there, an entire set of NPC-focused questions won't show up in searches about NPCs. Villains are NPCs, so villain-specific advice is often useful in more generic circumstances, not least because many NPCs are more nuanced than "allies/antagonists." In replacing the generic tag with the specific one, I'm not sure what benefit we could get which would outweigh the disadvantage of forcing people to figure out that many NPC-related posts aren't tagged npc.
There's the issue of why villains is necessary at all, even if it supplements npc instead of replacing it. The guidance on creating new tags says:
You should always favor existing tags; only create new tags when you feel you can make a strong case that your question does cover a new topic that nobody else has asked about before on this site.
You've invented a new tag for questions asked by people who didn't seem to feel the need to create it themselves, and which is a subcategory of an existing tag, so a bit more justification should be given than "a lot of questions could use it." Tags should be created to answer a need, and usually that need is perceived through main-site trends--I see no such need or trend, so you'll have to make that explicit in your support for the tag.
Why villains? Shall we tag mentors, allies, and romantic-interests, too? It doesn't seem like a particularly useful category of tag. It's very specific (to only a certain class of antagonist: the villainous kind), and based on the lack of site convention, people won't even expect this tag to exist, both of which won't help people find the kind of question they want. Site usage bears me out: there's no movement among question-askers to tag for particular kinds of NPCs. If there is such a movement, I wasn't able to find it by searching for common names for types of NPCs... so such tags have failed to be useful to me. The closest I could find was minion, and that's being used as a mechanical term in two specific games rather than a general category of NPC.
There's a limit on how many tags a question can have (five), and that's a deliberate site design choice. Overpopulating a site with overspecific tags obscures information rather than making it easier to find, because it increases the need for users to search multiple tags to see which specific tag someone thought the useful question needed, rather than using a handful of general tags which allow the person to actually know if they've searched the site exhaustively--and in the end the goal of Stack Exchange is to make good information easy to find.