I can only think of one reason, which is because different codons can specify the same amino acids. However I am having trouble thinking of another reason.
I can think of at least 3 reasons in addition to the one you gave:
1: As mentioned in the comments, RNA splicing takes place on most messenger RNA encoding proteins in eukaryotes. Sections of the mRNA may be spliced out, therefore multiple mRNAs with different codon sequence can encode the same gene.
2: Translation is a stateful process, since it depends on the frame of the codon. Therefore, a gene with the sequence GGATGATGATGTAA will encode the same protein as a gene with the sequence ATGATGATGTAA, due to the start codon shifting the frame of translation downwards.
3: Genes contain untranslated regions in regions before the start and after the stop codon. These nucleotides cannot be predicted from protein sequence, but are generally important in regulating protein expression.