Safari requires that you immediately post a notification when a push message is received. "Immediately" means that it cannot be after some async operation.
If you display a notification immediately from the service worker itself, it will stop displaying that error. I cannot remember 100% but I think if you clear your cache and cookies you will be able to receive push messages again if you accidentally get blocked while testing.
From the developer guide: https://developer.apple.com/documentation/usernotifications/sending-web-push-notifications-in-web-apps-and-browsers
"Safari doesn’t support invisible push notifications. Present push notifications to the user immediately after your service worker receives them. If you don’t, Safari revokes the push notification permission for your site."
Regarding safari mobile - safari mobile only supports Push API if a user adds the site to their home screen. Check out the caveat under safari mobile here: https://developer.mozilla.org/en-US/docs/Web/API/Push_API