PEAP is a tunnel, and the actual username used for authentication is send inside of the PEAP tunnel. There is a username field on the outside, but it is only used for tracking, and it is fine for this to be blank.
Because PEAP is a tunnel, the AP/WLC infrastructure does not see the authentication happening within it. The AP/WLC simply passes it onto the RADIUS server. The RADIUS server rips everything out of the tunnel, checks the credentials, and sends back an ACCEPT or REJECT. The AP/WLC infrastructure then allows/blocks access based on this.
So if the RADIUS server (what RADIUS server are you using) is refusing the connection you need to look there.
The first thought that comes to my mind is have you added the Meraki APs in as clients to your RADIUS server?
The next thought is to check if the radius key being used on the Meraki APs matches the key defined for the client on the RADIUS server.
What specifically does the RADIUS server say is wrong?
If you use the option to test the WiFi authentication in the Meraki portal - does this work?