That's how it worked in the beginning, and that's what the syntax became. Eventually they added the range operators (
..) so you could search for exactly a certain number, but it doesn't make sense to go back and change a syntax that users have already gotten used to.
The syntax doesn't only affect the score search operator. It also affects the answer search operator. By searching for 0 you're actually searching for "none" - which is more relevant to the answers operator than the votes one. Searching for
answers:0will search for posts with no answers, which is extremely useful in many searches where a "0+" syntax would simply return all questions on the site and be effectively useless.
The problem here is you don't want to have a syntax for one operator and a different syntax for another operator. Hence, the votes operator inherits the "only zero score" functionality from its answers operator relative.
(Note the views operators does not follow this logic because it's not possible to have 0 views.)