Display “Free Shipping” for WooCommerce Cart Products with Zero Shipping Cost

I’m trying to display “Free Shipping” for products in the WooCommerce cart that have a shipping cost of 0. I am using Webiwork Shipping Per Product WooCommerce plugin to add per-product shipping, and I want to show this message only for those products, while leaving products with non-zero shipping charges unchanged, like this screenshot:

like this screenshot

I attempted to use the following code:

add_action('woocommerce_after_cart_item_name', 'display_free_shipping_for_cart_items', 20, 2);
function display_free_shipping_for_cart_items($cart_item, $cart_item_key) {
    $packages = WC()->shipping->get_packages();

    foreach ($packages as $package) {
        if (isset($package['contents'][$cart_item_key])) {
            $product = $package['contents'][$cart_item_key];

            if (!empty($package['rates'])) {
                $shipping_rate = reset($package['rates']);
                $shipping_cost = $shipping_rate->cost;

                if ($shipping_cost == 0) {
                    echo '<p class="product-shipping-cost">Free Shipping</p>';
                }
            }
        }
    }
}

But it seems to either show nothing or doesn’t work as expected.