Custom role based users are not able to access wp-admin

The read capability must be set to true, so they can access.

Keep in mind, roles are saved to the database, when you run it on every init action, this is considered to be time consuming.

The Codex suggests to run those actions in the register_activation_hook(). Since you are using this code in your theme, you might want to check, if the role exists.

Since you are running this in a theme, this might be a workaround:

function yrc_cst_register_role_customer_service_rep() {

    $wp_roles = new WP_Roles();

    //$wp_roles->remove_role('customer_service'); // Remove it only for test purposes.

    if ( $wp_roles->is_role( 'customer_service' ) ) {
        return;
    }

    $wp_roles->remove_role('subscriber');
    $wp_roles->remove_role('editor');
    $wp_roles->remove_role('contributor');
    $wp_roles->remove_role('author');


    $service_rep_caps = array(
        'read'  => true,
    );
    add_role('customer_service', __('Customer Service'), $service_rep_caps);

}