Hola:
Debes quitar la palabra mágica "return"...
Te cuento mi sistema para validar varios campos... La cuestión es tener un array vacío con los mensajes de error, y cuando detectamos un error, añadimos al array el mensaje correspondiente a ese error... (todo sin los return...)
Cuando pasas por todos los campos, si el array está vacío es porque no ha habido errores y se puede enviar el formulario, de lo contrario se muestran los mensajes...
if (mensajes.length > 0) {
alert("errores:\n" + mensajes.join("\n"));
return false;//... de otro modo no devolver nada...
}
Saludos