As duas formas a menos e há menos existem na Língua Portuguesa.

Ou seja, ambas as expressões estão corretas, devendo, no entanto, ser usadas em diferentes situações.

A menos é uma locução que significa de forma reduzida; menor, algo reduzido; pode também ter o sentido de quantidade menor ao esperado ou previsto.

Não aceitamos nenhum direito a menos!
Após a primeira semana eu tinha 3 quilos a menos.

Obs: Notar que a locução “a menos de” significa a uma distância (no tempo ou no espaço) menor que [para algum evento futuro]

Estamos a menos de cinco dias do evento.

Há menos significa, basicamente, que “existe(m) menos”; pode também ter o sentido de “intervalo de tempo para trás” [tempo presente – tempo passado].

Atualmente, há menos restrições e mais liberdade. :: existe menos
De novembro a março há menos chuvas. :: existe menos

Aconteceu há menos de 30 minutos. :: intervalo de tempo
Ele morreu há menos de uma semana. :: intervalo de tempo