A normal distribution strictly applies only to continuous data, while you have categorical data: counts of each of 20 amino acids* in sets of individual proteins, with each protein being a sequence of dozens to hundreds or more of those amino acids. With a fixed number of categories (20 amino acids), you are dealing with multinomial distributions to describe the number of counts of each amino acid within proteins.
A classic way to compare count data (in your case, the numbers of each amino acid in a complete protein sequence, evidently predicted from the codons in the expressed mRNA sequence**) against a theoretically expected frequency (in your case, that the frequency of each amino acid is 0.05, an hypothesis well known not to be true) is to use a chi-square test to get an overall test of the null hypothesis that all expected and observed frequencies are equal. This test takes into account the total number of amino-acid counts, important here because different proteins have different amino-acid sequence lengths and random sampling would make observed frequencies more variable in smaller proteins.
You could use a chi-square test to test the observed amino-acid counts against a more realistic theoretical distribution. See this paper for an interesting recent examination of differences of amino-acid compositions of proteins among microorganisms in different habitats, and for links to the literature. You could also use a chi-square test to examine whether your proteins differ among each other in composition without regard to pre-specified hypotheses about amino-acid frequencies.
If an overall chi-square test does not rule out the null hypothesis then you shouldn't proceed to further individual comparisons. If the null hypothesis is rejected and you want to proceed to more detailed tests among amino acids or among proteins then you are correct that some form of multiple-testing correction is required. The Bonferonni correction you propose can be too stringent; see this Wikipedia page for links to other possibilities. Those detailed tests should be appropriate for categorical data; depending on the amino-acid counts you might consider multinomial tests, Fisher's exact test, or G-tests
You might also consider adapting the suggestions in this answer to model your data with a generalized linear model that can provide "comparisons of meaningful quantities, rather than just chi-squares and values." That might be a better approach if you are proceeding to examine hundreds of proteins. This page provides some hints on generalized linear modeling of multinomial data.
*You presumably are ignoring selenocysteine in your count of proteinogenic amino acids.
** With 20 amino acids you are counting asparagine and glutamine separately from aspartate and glutamate, which is most easily done based on coding sequences. Classic chemical analyses of amino-acid composition typically converted asparagine and glutamine to their acid forms, so be careful if you compare against that type of literature.