So first of all, I really like this idea. I tried it once or twice a long time ago and I'm still fantasizing about it. With that out of the way, let's move to my 2 cents.
Make the NPCs well-rounded characters
These NPCs aren't just some recurring characters, not to mention some one-time ones. They're gonna be with the party for a very long time. Whole adventures, actually, which is quite a lot. This means that they should be really well rounded. Your players should get to the point of distinguishing between them after just a few words, especially when the NPCs are the ones who spark the conversation.
More than that, though, they should be more than cardstock characters. You want them to express feelings, you want them to have goals, and you want them to react. Otherwise, your players will have hard time connecting with them, and this is far less good. As a rule of thumb, make them round and distinguishable from each other. A wizard is different from a fighter, true, but we want a greater difference. The prince will have hard time adjusting to the wilderness and to the bugs in his bed. The merchant will always stop to collect the better loot so she'll be able to earn much from those bargains. Classes are a dirty way to distinguish, but they're better when accompanied by some other traits.
Don't let them speak right one after the other
The players aren't coming for the game as an audience for a theater, they're here to play, and hearing NPCs talk with each other is far less fun. If you must make them speak between themselves, make it as quickly as you can and immediately move on. If you can narrate the conversation instead ("they're talking about what happened, Elsa thinks that they should go east and Hans thinks that they should go west…"), it is far far better.
Give the players the center stage
The players and their characters are the real stars of the campaign. The NPCs are extras, and should always be seen like for you that when you're playing them. If they're far cooler than the PCs, or if they have much more screen time, something is off with your campaign. It's better to not have the NPCs with the group than to let them illuminate and shadow the PCs.
They're not all knowing
Think for yourself what is more important, a character who knows everything or a character who knows only part of them. For me, it is the latter. That comes from one simple thing: There's no drama when everyone knows everything (it is not entirely true, but that's for another time). Make them say sometimes stupid or idiotic things, make them come to wrong conclusions, let them make mistakes. They're not a kind of supernatural deity who knows everything, but humanoids who are as humane as the characters, and they should be played this way.
Make them important for the story
They should always be important to the overall story, in one way or another. In one of my more successful D&D campaigns, the characters had to escort a princess to a neighboring kingdom through the forests. Having to keep her safe from one hand, and dealing with all of her complaints from the other one made the game so much richer. They don't have to be important to each and every one of the scenes, but they should always be important for the overall story. Otherwise, the characters may just leave them to rot one day, when things will turn the wrong way.
And an end
Hope I succeeded with helping you a little bit.
You've run into one of the dangers of pre-planning a plot. I'll give some ideas at the end about how to plan campaigns so this doesn't happen as much in the future, but first we have to deal with the current situation. Other answers have dealt nicely with the "stay on the rails" and "take a short detour" options, so I'd like to talk about a third choice:
Take a new path through the bush. Forget the plot you had lined up. You've got interesting people and conflicts already present in the world and waiting in the wings, but you can let go of exactly how you expect it to play out. Go along with the PCs' choices and look for opportunities to introduce the interesting people and ideas you have prepared. Instead of killing off this NPC and negating the PCs' hard work, use the NPC as a gateway to new adventures which will incorporate your ideas in new, interesting ways.
It shouldn't be too hard for, e.g., someone connected with the NPC to kick the bucket in a ghost-inducing way, so the NPC drags the party in for the ride and you get a ghost investigation on the party's terms rather than on your own. Players tend to be more engaged with plots that arise from PC agency than plots which are thrust upon them.
Now lets talk briefly about avoiding this kind of situation in the future. For me, the key lies not in how I plan, but in what I plan. Instead of creating interesting stories to walk my players through, I need to create interesting people, situations, and conflicts which are happening when the game starts.
My favourite kind of game prep is to set up a complex set of NPC/faction/world interactions and then watch my players roll through them like a lopsided bowling ball. This way, my players can engage with a world and have their choices matter because they're interacting with dynamic processes. As the party acts and makes choices, I'm free to have the world react: NPCs change their plans based on PC action, natural events occur when it's most dramatic, and so forth.
An RPG story is about the PCs, so I like to give them a chance to really make the world sit up and notice their choices. The best way I've found to do this is to avoid planning stories that hinge on the players making certain choices.
Best Answer
You're trying to railroad the game when the players are telling you very loudly where they want the campaign to go instead. Take them there.
If the NPCs are boring you, that's a different problem. Be sure you're making NPCs that engage you and not just your players. You have to enjoy the game too.
To run an interesting socially-focused game, you might need to learn how to use a few tools.
Challenging situations made from social connections can be made using PC-NPC-PC triangles—but don't intentionally make life-or-death situations out of them unless you want a bloodbath; save life-and-death for external threats to the social group.
In a game with a big stable of NPCs in a complex set of social relationships, maps of the land become far less important than maps of the social situation, and you can use relationship maps (like this one) to keep track of how everyone is connected and feels about each other.
And if, in the end, you don't want at all to play a game that is heavily focused on personal relationships and social interactions, sit down and talk with your players about what kind of game you can all enjoy. Putting a collar around their neck and dragging them toward the plot won't be fun for them or (as you've been learning) for you either.