Are KVM switches even needed anymore for MacBook Pros?
As special as we'd like to believe MacBook Pro computers are, they're still computers with industry standard connectivity like USB, video, etc. What works for a PC laptop or desktop will work equally as well with a MacBook Air/Pro laptop and Mac desktop.
Do you need a KVM? No.
Just get a quality monitor with multiple inputs and a keyboard/mouse combo with multiple connections.
You've already mentioned Logitech Flow which allows you to use a single mouse/keyboard across two different computers simultaneously (i.e. cut/copy in Windows and paste in macOS).
Though convenient, it's not the exact product you would need - it's actually something simpler: multi-device connectivity. The same Logitech products like the MX Series keyboard and mouse have the ability to pair up to 3 different devices. A simple press of a button will switch connectivity from one computer to the next.
Is there some sort of magic Wi-Fi / Bluetooth / Airplay device that can perform the same function.
If there was, you'd still need to switch it. WiFi, Bluetooth and AirPlay aren't magic and give you features where none exist. They just replace wires as a matter of convenience. You don't suddenly get KVM capability because you can stream video without cables.
And...if you're looking at software, that means at least one computer must be booted at all times as it has to be the host. If you're going to spend the money on software, you might as well get a hardware solution that's platform agnostic and much more reliable (i.e. the next version of macOS breaks it and requires an upgrade)
Is there software that can perform the same functions?
I ran across FOSS solution for a software based KVM called Barrier. It works on macOS, Windows, FreeBSD, and Linux. Binaries are available for both macOS and Windows. It is also available via Homebew and available for FreeBSD as both a package and as a port per FreshPorts.
It’s actually really cool software that allows you to arrange your setup graphically so that you can “move” your mouse across the screen “barrier” and onto the next computer (i.e your Windows machine is to the left of your Mac). It also allows you to assign a keyboard shortcut to select a different computer to control.
It’s only limitation is that it doesn’t switch the monitor as a traditional KVM would. You still need to either have individual monitors for each computer (not a problem if using laptops) or a monitor with multiple inputs. There’s an excellent YouTube video showing how it works with a Windows machine and a Raspberry Pi.