As duas formas – garçom e garçon – estão corretas e tem mesmo significado. A única diferença refere-se ao País onde é usado.

Ou seja, sendo garçon um estrangeirismo de origem francesa é admissível o uso desta forma.

No entanto, a forma mais usada é “garçom” porque é assim que no Brasil se utiliza – é o país com o maior número de falantes da Língua Portuguesa.

O uso do “m” ou invés de “n” parece ser uma tentativa de correção já que no português não existem palavras terminadas em “n”.

A palavra “garçon” tem uma tradução direta para português que é a palavra “garção” mas é raramente usada.

Em Portugal a forma mais usada é “garçon”.

Alguns textos apontam que a forma correta é com “m” mas um estrangeirismo é uma palavra de outra língua, que por “empréstimo”, é utilizada com regularidade em textos de outra língua pelo que escrever tal como o seu original é ( ou deveria ser ) a forma a usar.

Referências

a) Palavra original – do francês garçon.
b) Significa empregado de mesa; moço ou rapaz.
c) Num sentido mais amplo significa os funcionários que trabalham em restaurantes ou bares servindo comida e bebida aos clientes.