Wi-Fi really slow on Mac until I reboot
I found the culprit. I had a software called Pulse Secure (to connect to my workplace). I uninstalled it and BOOM! Problem fixed. If you have the same problem, it is most likely some VPN software (even if not connected to it)
WiFi devices will reduce speeds if they detect too many errors at the higher rates. For example, in your screenshot, your WiFi radio has negotiated a fairly decent RF speed (MCS 9, 867Mbps) with the router. (It would be interesting to see what the router says, as Tx and Rx can differ.)
Over time, radio link quality changes, causing the radios at both ends to adjust Tx/Rx rates. If too many packets error out, the radios will back off to lower rates. If the error levels drop, the radios will (eventually) negotiate back up to better speeds. Rebooting it just resets the error counters; it's not actually fixing anything.
When your speed seems slower, check to see what rate the radio says it's negotiated with the router (and check the router's view of your laptop too). If it's lower, there's a reason, such as interference or another RF problem.
The 802.11ac standard also supports MIMO (multiple in, multiple out), which requires all devices to utilize more than one antenna to get maximum throughput (which is somewhere above 1Gbps I believe). There could be a situation where the AP radio is negotiating just a single channel with your laptop and multiple channels with other devices that come on after it does.
Without knowing what kind of router you have or how many other devices are on the network, it's hard to say what else could be causing the slow-down's/back-off's.
On most routers there are advanced wireless settings that can affect how clients interact with the router. In my experience, it is useful to disable the fancy settings (or setting them to defaults), then test each one until you find the culprit.
In case it helps anyone: I was running into a similar problem with a 2017 MacBook Pro but found a different solution... download speeds on other devices (iPhones, newer MBP) were around 500-750 Mbps down, but on my 2017 MBP the speeds were way slower (anywhere from like 5-10 Mbps, sometimes even <1 Mbps, all tested using fast.com and Vodafone's speed testing service). After restarting either the router or the 2017 MBP, download speeds were back to normal on the 2017 MBP. However, the speed would gradually decrease until it was (relatively) super slow again.
I tried troubleshooting by looking in the "Network" tab of Activity Monitor to see if anything was hogging bandwidth, uninstalling VPNs, closing all applications one at a time, using a different browser, etc. Nothing seemed to work. Restarting the computer worked well but is time-consuming and pretty disruptive to workflow, so ultimately I decided to try restarting just the networking using the following terminal commands:
networksetup -setairportpower en0 off
networksetup -setairportpower en0 on
For me at least, this works to bring normal speeds back. It takes like 15-20 seconds total (opening terminal, copying/pasting the code, waiting for wifi to reconnect), and I know it's not technically fixing the problem... but it's better than nothing and hope it can help someone else too.