The phrase "one gene, one protein" is inaccurate, as shown by the example of haemoglobin: this protein contains prosthetic haem groups which are not made by the activity of any gene, therefore genes alone cannot make every protein. "one gene, one enzyme" is also incorrect, because some genes code for proteins such as collagen or elastin, which have a structural role in the body rather than as catalysts in metabolism, so they are not enzymes.
The correct term is "one gene, one polypeptide" as the sequence of codons on any strand of DNA can only code for the assembly of a polypeptide chain with one possible arrangement of amino acid residues following transcription and translation.