Потому что два двоеточия — это псевдоэлемент, а одно — псевдокласс (как :hover).
Псевдоэлементы появились только в CSS3, поэтому браузеры принимают и одно, как в CSS2.
Источник.
P.S. Если не надо поддерживать IE8, то давно можно писать ::, см.
caniuse