Protože to ke své práci nepotřebují. Je to analogie s vaším .NETem a skrptovacím jazykem.
Záleží na konkrétním projektu a režimu, který tam vládne. Je programátor zároveň ten, kdo celý systém navrhuje nebo jenom implementuje návrh do nějakého jazyka? Dělá analýzu a komunikuje i se zákazníkem? ...
Jistě je rozdíl mezi programátorem jádra operačního systému, programátorem webové aplikace a programátorem maker v office.
Ti druzí dva jistě ke své práci nepotřebují znát příliš o překladačích a stavových automatech. A přesto se nazývají (a jsou) programátory.
Vývoj programátorského mainstreamu prostě jenom dál pokračuje na vyšší úroveň abstrakce. Začalo to strojovým kódem pokračovalo přes assembler, vyšší jazyky, přes objekty a různé skriptovací jazyky...
Každá z vyšších úrovní umožňuje o něco snadněji programovat některé úlohy (a tím ve stejném čase zvládnou vytvořit funkčně komplexnější software), ale jiné úlohy omezuje nebo znemožňuje a ty jdou lépe řešit na nižších úrovních.