The commit history does not accurately reflect the contributions to the code-base. As I understand it, contributors would write and provide patches to Bram who would then commit the changes to the code-base.
From what I can tell the reason is that that’s the way it was always done. As I understand it, back in the days before there were distributed version control systems, Bram was the only one who could commit to the code-base so he would credit the actual author of a submitted patch in the commit message. He continued this practice after the Vim project moved to Mercurial (and Git).