Os substantivos que citou, criados numa altura em que só os homens tinham acesso ao serviço militar, são masculinos porque representam postos ocupados por homens.
Hoje e até que o «ouvido» se habitue, poderemos dizer que são substantivos comuns de dois géneros que se distinguem pelo género do artigo ou do outro determinativo acompanhante.
Exemplos: o soldado - a soldado; o sargento - a sargento.
Avançando ainda no tempo e recordando uma situação passada em Alenquer, os jornais não se cansaram de apelidar de "generala" a mulher envolvida no escândalo de uma mulher que durante anos a fio se fez passar por "sr. general". Não tardará muito que se vejam e oiçam na Língua Portuguesa outras formas mais evoluídas e adaptáveis à audição.