Hola:
Tanto dificulta la lectura del código (innecesariamente)... sobre la validación es una respuesta trivial que debes revisar...
onsubmit='return validar_formulario()...
...validar_formulario() debe devolver false para su cancelación, y no vale ninguna otra cosa... incluso los errores cancelan la supuesta cancelación.
Si fuerzas los envíos (form.submit()), las validaciones no tienen ningún sentido.
Revisa esas cosillas y nos cuentas.
Saludos