It is possible to have thousands of different proteins with only 20 different amino acids because there are multiple sequences of amino acids that encode each protein. This means there are tons of variations of amino acids that can contribute to a single protein. It's the same thing as how you can have only 3 letters, say 'A, B and C', and have 6 possible combinations (ABC, ACB, CAB, CBA, BAC, BCA).