The Viridian Old Man was duplicated after repointing the events of Viridian to add 1 more signpost, it's not doubled in AdvanceMap, and it's script isn't modified, it's only in-game.
Pretty sure that old man is added (or at least affected) by the map's level script. Take a look at the movesprite2 and spritebehave calls in the level script for Viridian City.
They're different events. The Teachy TV old man probably isn't showing up for you in Advance Map because it seems to have an issue drawing him using the 'laying down' overworld. Try clicking around where he lays down in-game and you'll be able to select the event.
I've selected it, but I don't have any idea how to fix it.
I've checked the level sprites of my rom and an unmodified rom, looks the same.
Umm, I don't know how to tell you this, but viridian city has two old men. Notice how they both have different scripts.