similar to Editor can create any new user except administrator

Simple all you need to do is edit this part of the code :

function editable_roles( $roles ){
    if( isset( $roles['administrator'] ) && !current_user_can('administrator') ){
      unset( $roles['administrator']);
    }
    return $roles;
  }

and change it to

function editable_roles( $roles ){
    //don't change anything if current user is admin 
    if (current_user_can('administrator')) {
        return;
    }else{
        if( isset( $roles['administrator'] ) && !current_user_can('administrator') ){
           unset( $roles['administrator']);
           //here you add  "unset( $roles['role_to_remove']);" for each role you wish to remove
        }
    return $roles; 
  }