Its definitely better having them as seperate applications, there are times when you may want to disable the auth server but keep the game server online, or where the auth server crashes and you need to restart it, having it all rolled into one application doesnt easily allow for these circumstances.
It just allows for greater flexibility, one auth server can service many game servers as the amount of work it does is very small, you cant really do that if the auth and game server are rolled into one.
Theres also defensive reasons for it, having them seperate means that ddosing wont be as effective, and you can always just bring up another auth server on a seperate server etc etc.
As for NPC/Mob server(s) FusionOrigins uses an approach which has an npc server and a mob server, if you take a look or have already seen it, using this sort of approach can be extremely complex and difficult to manage, its definitely not necessary to go down this route, however for things like NPCs it could be advantages, mobs im not certain about to be honest, in my experience you can do it, but the amount of actions performed means that you have to relay alot of data around, you could probably get around this by using some form of shared memory instance rather than sending data between server.