It's easy to miss, because that specification uses the bizarre convention of only highlighting the last character of an internal link, but the “: ”
in the section you quote is actually a link to another section of the specification which answers your question:
Normally, YAML insists the “:” mapping value indicator be separated from the value by white space. A benefit of this restriction is that the “:” character can be used inside plain scalars, as long as it is not followed by white space. This allows for unquoted URLs and timestamps. It is also a potential source for confusion as “a:1” is a plain scalar and not a key: value pair.
So the motivation is that you can write lists such as this without requiring any quoting:
useful_values:
- 2:30
- http://example.com
- localhost:8080
If the space was optional, this could end up being ambiguous, and interpreted as a set of key-value pairs.
Aside: Here's a snippet of JS to make the link formatting on that document less useless.
document.styleSheets[0].insertRule('a[href^="#"] { color: #00A !important; text-decoration: underline !important; background: none !important; }', 0);