Eu atuo como desenvolvedor ABAP desde 2014 (vi que você usou como referência o ABAP). ABAP, para quem não sabe, é uma linguagem de propriedade da SAP, utilizada para desenvolver o ECC e o S/4HANA.
Esse "universo" SAP é um pouco diferente dos demais da programação (imagino, pois nunca atuei profissionalmente com outra linguagem). Aqui, as funções são sim segregadas, onde o programador é o programador e o consultor (pode ser chamado de analista ou funcional) é o consultor. Porém, conforme você vai se especializando como desenvolvedor ABAP, você acaba fazendo também o papel de consultor, com análises, especificações, testes, acompanhamento de Go-live e Hyper Care, é quase que uma evolução natural.
Hoje sou considerado um desenvolvedor ABAP especialista, mas não por dominar a linguagem e todas as suas possibilidades, mas sim por ter as skills de um consultor, atuando também como consultor além de desenvolvedor. Não sou o melhor desenvolvedor do mundo (quando pensamos em arquitetura, por exemplo), mas sou "bem cotado" na empresa por ter esse perfil.
Resumindo, nesse universo SAP, programadores que tem skills de analista acabam sendo considerados programadores melhores do que aqueles que tem skills técnicas superiores. Se pensarmos como um gestor, isso pode fazer sentido, pois esse perfil acaba resolvendo problemas de duas pessoas, sendo uma. Porém, eu acredito que uma pessoa ou manda um pouco bem em muitas coisas, ou manda muito bem em poucas coisas.
Então acho que sim, programadores e consultores existem para resolverem os problemas. Porém, programadores devem resolver problemas mais técnicos e consultores devem resolver problemas mais conceituais. O mercado e as gestões não especializadas acabam confundindo as coisas, mas no fim não acho que devam ser considerados iguais.
Mas essa é só a minha opinião :)