According to MSDN BOL (Books Online) description on SOME | ANY (Transact-SQL),
SOME and ANY are equivalent.
It does make sense t
"Are there any historic reasons why they have the same functionality?"
I'll answer the actual question... At the beginning it was just ALL and ANY.
ALL is an universal quantifier, while ANY was supposed to always be an existential quantifier. However, in English, ANY is frequently used as an universal quantifier as well. "I can beat ANY of you" is not synonym of "I can beat SOME of you". It's in fact synonym of "I can beat ALL of you".
With ANY being confusing, SOME has been introduced as a more reliable synonym for ANY with the adoption of the SQL-92 standard. ANY was supposed to be retained for a while just for backward compatibility with previous product versions. But we still have it today.