Con esta solución, ya no les saldrá el error 'Debes tener al menos 18 años de edad', aunque no hayan ingresado ninguna Fecha.
function mostrarMensajeDeError(tipoDeInput , input){
let mensaje = '';
let encontrado = false; //Bandera
tipoDeErrores.forEach( (error) => {
if(input.validity[error] && !encontrado){ //Verificar si ya se ha encontrado un mensaje de error. Si es así, puedes omitir la asignación del nuevo mensaje de error.
/*console.log(tipoDeInput, error);
console.log(input.validity[error]);
console.log(mensajeDeError[tipoDeInput][error]);*/
mensaje = mensajeDeError[tipoDeInput][error];
encontrado = true;
}
})
return mensaje;
}