A search of COCA reveals the following frequencies, out of 3,303:
- make/makes/made/making a mistake 3087
- commit/committed a mistake 8
- make/made a blunder 9
- committed/committing a blunder 3
- do/did/does a blunder 0
These don't add up to 3,303 because I've excluded irrelevant collocations
Very clearly, making a mistake is the unmarked form.
I'm afraid that do a mistake/blunder is not attested in the data. In fact, having searched the British National Corpus, the Corpus of Historical American English, and the Corpus of Global Web-Based English, I cannot find a single attestation of I did a mistake/blunder (or any other forms of did, in any tense, person or number).
From this, I'm going to assert that do a mistake/blunder is not well-formed, grammatical, or even used in Standard British or American English. As I don't currently have access to corpora for other variants of English, I can't comment on their usage/currency.
Now, to the differences in meaning.
to perform (a crime, error, etc); do; perpetrate
to cause to exist, bring about, or produce
So, what are the implications?
commit vs make
Well, firstly, it should be noted that the parentheticals - a crime, error, etc are from the original, and the definition of perpetrate contains parenthetical deception, crime.
Now, while obviously not conclusive, lexicographers tend to put these terms as examples, generally taken from common uses. These are likely to be frequent collocates of commit and perpetrate.
This gives commit a distinctly negative connotation - you don't commit an act of charity, and even though that is perfectly well-formed, using it in that way infuses the act of charity with negative entailments.
Use commit when the act is immoral, illegal, or you wish to imbibe that sense. Use make for more neutrality. Do not use do in situations where native American or British English is expected.