You can use 802.1x authentication. This means using a radius server and deploying credentials on a per-device basis, but should meet your needs to prevent sharing.
While a good idea, I agree it was quite an obtuse solution to your problem given your list of examples. Albeit, you proved little context as to why your use case requires you to admit people to your network, who subsequently compromise it.
Right. But despite the “can’t get it to work” statement from earlier, this is the way to achieve the goal, so working to resolve the problem(s) the op experienced would be the best path.
The simplest way is to write a script to restart when idle. Each time you restart, the MAC or the end of the SSID will be a random number. The shared WIFI is determined by the consistency of these two values ​​to determine whether it is the same WIFI signal.