Новые языки появляются, потому что некоторые люди думают, что могут создать более качественный язык, чем существующие языки. Иногда у них это получается.
Конкретно Go ориентирован на многопоточность. А новые ЯП возникают, потому что старые часто плохо приспособлены для новых парадигм (если вам не нравятся современные парадигмы - возвращайтесь к доассемберовским временам, только опкоды, только хардкор). Чтобы обеспечить ту же многопоточность в C++, программисту необходимо себя дисциплинировать, слишком легко вызвать дедлок. Go делает это автоматически.