edit role display name and label name without plugins

Those names are stored in the option wp_user_roles in the database table wp_options.

So, the following will change the name of the subscriber role:

$val = get_option( 'wp_user_roles' );
$val['subscriber']['name'] = 'PeDeBoi';
update_option( 'wp_user_roles', $val );

Apparently, this is harmless, but caveat emptor

In your code, $wp_roles->roles[$role]['name'] = $new_role_name; doesn’t work because it should be:

$wp_roles->roles[$role_name]['name'] = $new_role_name;

And $display_name doesn’t make much sense.