All the words have the same meaning, but they're only from different dialects ,
حين ، عندما ، حينما : those are from the classical Arabic language
لما : has the same meaning too , but we use it the most in Arabic different dialects, not ( العربية الفصحى)