Because Android says so. Android will only give an app Wi-Fi signal strength and the list of nearby networks if the app holds the location permission, on the grounds that a list of nearby networks could be used to work out where you are. There is no other way to read the signal. Every Wi-Fi analyser on Android asks for the same thing, for the same reason.
What we do with it: read the strength of your own Wi-Fi where you're standing. What we don't do: read GPS, record where you are, or send anything anywhere. The app has no server, so there is nowhere for a location to go. The phone's location switch also needs to be on while you check a room, which is the same Android rule from a different angle. On Android 13 and later there's a second prompt, for nearby devices, that does the same job. Say no to either and the app tells you it can't read the signal, and stops. It doesn't pester.