Whether your store has numerous user roles like customers, subscribers, or wholesalers, this snippet will help you to hide the “Ship to a different address” section based on the user role.
add_action('init', 'ts_unset_shipping_address' );
function ts_unset_shipping_address() {
    // HERE the targeted user roles
    $user_roles = array('Customer');
    // Check user roles to hide “Ship to a different address”
    foreach( $user_roles as $user_role ) {
        if ( current_user_can( sanitize_title( $user_role ) ) ) {
            add_filter( 'woocommerce_cart_needs_shipping_address', '__return_false');
            break;
        }
    }
}
Output
If the user is logged in with a ‘customer’ role, then it will hide the ‘ship to a different address’ section as shown below.

In another case, if the user logs in to any other roles, the “ship to a different address” section will be displayed.

Additionally, if you want to remove the option of entering a different shipping address for all users, then you can check this article that explains how to hide the “ship to a different address” checkbox in WooCommerce without any conditions.
 
													 
								
