There are several factors that can influence whether devices (in your case, an iPhone and a Mac) "see" each other on a Wi-Fi network. This is required for Handoff like transferring a call from your iPhone to your Mac.
- Wi-Fi signal stability. A poor signal means less bandwidth and higher latency. If the discovery (broadcast and response) packets get dropped it's like you not answering the phone thus the "I can't find you" problem.
- Wi-Fi client isolation. This is a security feature of Wi-Fi network hardware like APs that prevent client devices from seeing each other.
- An active VPN tunnel (from comments). Typically, VPN tunnels will route all traffic (default route) of the client through the tunnel; some can split the tunnel and allow local traffic to stay on the local network (policy configuration). If a VPN is active and is configured to be the default route, then the device is technically on a different network. Therefore, the devices can't see each other.
- Bandwidth limitations. A VPN can consume much more bandwidth than you realize. Remember there's the overhead of the headers (creates the tunnel) and the encrypted data.
The Problem in a Nutshell...
Based on the comments, it sounds like you have multiple factors plaguing you:
- Weak Wi-Fi signal that reduces the available bandwidth
- An active VPN connection that could
- Route all your traffic through the VPN
- Consume most/all bandwidth resulting in severe latency.
What to do...
First, disable your VPN. If Handoff starts working, you know your VPN is contributing to the problem. If you can, take your Mac to place with good Wi-Fi signal strength and test out Handoff while the VPN is working. If the problem goes away, it's a bandwidth issue. If the problem persists while the VPN is active, it's a traffic routing issue.