I already have 20 reputations (which is the points to get chat) but I can't still chat. Why can't I?
According to your profile, you passed the 20 rep threshold 15 minutes ago. So, blame caching. The system sometimes takes a little bit of time to catch up and award privileges.