Thanks for spelling it out for me.
The extra ground in the schematic was labeled wrong as you say. You changed it from GND in schematic and RTS everywhere else to CMD everywhere which goes better with the SD2 and SD3 around it.
The pins being out of order I think are because this was based off of a breadboard friendly breakout board that someone had made and the pins matched the breakout board. Then someone made the module alone and just reused the schematic.
Good catch on there being no GPIO20 and actually being NC.
Whenever I am trying to figure out the connections for one of these modules I always go and find one of these cheat sheets so I can see all the different possible labels for each pin. I also use it while making connections instead of relying entirely on the labels.
Last thing is my part has nicer mouse overs then yours. When you mouse over any of my pins they just say what the label is. With yours it shows Fritzing pin number which is of zero use and only confuses things. Like if you mouse over IO12 on your board it says PIN14:IO12 and on my board it says IO12. This makes the chance of making a mistake that much greater. I think this may be because you assign them in the svg where as the editor assigns them in the fzp file? Not that it really matters just something I noticed while comparing them.