El problema no es la sintaxis, son las dos especificaciones
Conviven YAML 1.1 y YAML 1.2, y no leen lo mismo. Tu editor y las librerías modernas de JavaScript usan 1.2; PyYAML y go-yaml usan 1.1, y son los que están debajo de Docker Compose, Ansible y buena parte del utillaje de Kubernetes. El mismo fichero, dos valores distintos, cero errores en ambos.
El problema Noruega y sus hermanos
Una lista de códigos de país `[NO, SE, DK]` se convierte en `[false, "SE", "DK"]` en cualquier parser 1.1: `no` es un booleano allí y texto aquí. Lo mismo pasa con `version: 1.10`, que pierde el cero y queda en 1.1; con `0700`, que vale 700 o 448 según quién lo lea; y con `22:22`, que en 1.1 se interpreta en base 60. Ninguno da error.
Todos los errores, no el primero
La mayoría de validadores paran en el primer fallo, así que corriges, revalidas y aparece el siguiente. Aquí el informe llega completo y con la línea, la columna y qué escribir en su lugar, para que hagas una sola pasada antes del commit.