WordPress do not accept nonce in the slug that you are trying to provide in the above code.
I mean in this line:
'my_dashboard&nonce-field=' . wp_create_nonce('my_action'), 'show_dashboard'
I was facing the same issue like you are facing. As the admin menu already verified for specific users so we don’t need to verify it again with nonce. Therefore, to skip that issue you can use that code at top of your file where you using $_GET or $_POST super global.
It will remove the warning for nonce verification.