I don't want to write an essay here, but I have a short answer: Using the wording "You may..." in some cases to avoid drawbacks of rare edge cases is okay-ish. Making it mandatory in those cases is simpler and elegant.
Because that applies to every card, but we know that official cards need another reason to say 'you may' (otherwise, all cards would do that).
Also, what others? Aren't herald and Golem the only ones? That's two cards out of 585. Seems objectively a much smaller reason than Mercenary activating Urchin, which is there is every game.
With all these cards a trasher would play differently if it has "You may" or not:
Herald, Golem, Ghost, Piazza, Citadel, Conspirator, Peddler, Scepter, Throne Room, King's Court, Mastermind, Diplomat, Tragic Hero, Library, Watchtower, Cursed Village, Shanty Town, Menagerie, Magic Lamp, Leprechaun, Horn of Plenty, Scheme, Improve, Hunting Party, Coin of the Realm, Royal Carriage, Bonfire, Pilgrimage, Seaway, Lost Arts, Training, Pathfinding, Disciple, Teacher, Crown, Colonnade, Tomb, Changeling, Conclave, Imp, Tormentor, Raider, Kiln, Delay, Summon, Prince.
These are 46 cards, not two edge cases.
If the trasher is also an Attack, add Soldier and Urchin to this list.
Involuntary trasher playing also is affected by opponent's Lurker, Graverobber, Rogue, Necromancer and Goatherd.
53 Cards in total in relation to which the feature of mandatory or voluntary trashing makes some difference.
Not to mention all the indirect consequences of keep in your hand cards you wasn't forced to trash and how these consequences change interactions with many other cards not mentioned here.
My conclusion: Mandatory trashing has a lot of implications; voluntary trashing has a lot of different implications. Choose one feature or the other according to the behavior you want for your card. The only restriction seems to be that is not good to make trashing mandatory if it applies only to a specific type of cards.