As the title says we need to have NPCs in the game. They help towns feel more alive. Even if they just wonder around town saying basic lines it all helps players feel like they are in a move alive and living area. Instead of a table for auction houses put an NPC or even a few NPCs even have them shouting basic lines about stuff being auctioned off, again it all helps towns feel alive. Having NPCs you can stuck up with player made items is an idea but might be a bit more difficult to implement properly. Finally allow NPCs to sell the very basic beginning level items gives the option for people who want nothing to do with crafting an other option. These basic item NPCs will not affect the player economy in any way as people will want to go to a player for better items like the game intent.
Town guards that do nothing but look nice will help a town look alive and lived in. However, giving guards actual town defense abilities and help out in other ways like keeping the base and making town sieges that much hard for the attacker. Towns should be hard to take and any guild that invests in a grand guard should have better defenses.
If nothing else just have NPCs in the game that do nothing but fill out any town. A game with No NPCs makes a game look dead. Do not go down the path of Fallout 76 their first year of full release was a disaster because they thought NO NPCs would work, it didn't and it took them a while to recover even after they put in NPCs.