Although some claim monsters are subset of NPC. NPC are in fact fundamentally different species of in-game content.
Monsters don't have a unique AI, they behave as member of monster_class of which they derive their spawning area and properties that are roughly identical for all their members(with exception for boosted monsters, such as champions/bosses).
Monsters don't have goals or scripts beyond the inherent AI, they are bound the level and its rules.

NPCs are unique intelligent scripted AI agents that are permanent(vs respawning monsters) fixture of a game level.
Each NPC is unique part of the level scenario, which in their sum establish the social layer of a RPG at that location.
NPCs are following a script and function as game interface to in-game features(trade, lore, quest, services, etc). NPCs unlike monsters, have interaction options beyond combat, such as dialogue and diplomatic stances: they can be convinced/persuaded and will generally take the side of player character faction.