title: Woocommerce attributes are somehow added again after removing them in the save_post_product hook
body: <p>I have a validating function to remove invalid terms from the product after saving.
  my problem is that after I successfully removed the invalid terms.
  they are re-added so when the update is complete.
  the invalid terms are still saved to the post.</p>
  <pre><code>add_action('save_post_product','validate_product',99,3);
  
  function validate_product($product_id,$post,$update){
      $store_tax = 'pa_store';
      if(get_field('requires_medical_license',$product_id) === true){
           $stores = wc_get_product_term_ids($product_id,$store_tax);
           $invalid_stores = [];
           foreach($stores as $store){
               if(get_field('store_type',$store)!=='pharmacy'){
                   $invalid_stores[] = $store;
               }
           }
           if(!empty($invalid_stores)){
               remove_action('save_post_product','validate_product');
              $success = wp_remove_object_terms($product_id,$invalid_stores,$store_tax);
               add_action('save_post_product','validate_product',99,3);
               $after_stores = wc_get_product_term_ids($product_id,$store_tax);
               // $success // true
               // var_dump($after_stores) // does not contain any invalid stores
               // wp_die() // if I stop the execution here, the terms are successfully removed.
           }
      }
  }
  </code></pre>