The clients choose for themselves which AP to connect to.
The 802.11 standard leaves it up to the clients to decide which AP to join. It doesn't even specify what algorithm or criteria a client should use to pick an AP. That has always been left up to implementors as an implementation detail. Most client implementations just pick the AP with the strongest signal strength, of the ones that are publishing the desired SSID.
Some enterprise-class 802.11 network infrastructure gear (such as "thin" APs with separate "Wireless LAN Controller" boxes coordinating them, as you can buy from Cisco, Aruba, and others) tries to second-guess the clients and employ various proprietary, nonstandard tricks to try to get clients to join the APs that the WLAN infrastructure gear wants the clients to join. They'll do things like purposely have some APs not respond to Probe Requests from the clients, or have a busy AP refuse to let a client join, so that the client is forced to pick a different AP. These tricks are, again, proprietary and nonstandard, and vary from vendor to vendor.