Given your modulation rates, it sounds like you're getting about the capacity one could expect.
First: The modulation rate is the data rate of the wireless link itself, NOT the data rate you can expect to see with payload. 802.11 has a very high amount of overhead in the protocol, and my personal rule of thumb has always been that you can expect to see roughly half of the modulated rate as payload rate... (this is an overly-conservative estimate, but it served me well back when I had to deal with wireless services on a regular basis).
Second: WiFi is half-duplex. Simply put, the 150Mbps of modulated throughput must be shared between upload and download streams. So you could get 100% up / 0% down, 60%up / 40% down, 30%up/70% down, etc. This applies to both the actual throughput with overhead and the payload throughput rate... meaning that if you can expect ~80Mbps of payload throughput, then that 80 gets shared between up/down.
Third: TCP generates ACK packets as a part of its functionality, and this traffic can become non-trivial when a lot of throughput is being transferred. Basically, as the upload speed goes up, so too will the downstream traffic of ACK packets from the server.
Fourth: Wireless doesn't actually share bandwidth in throughput rates - it shares in time slices. This means that you won't get as much throughput if there are lots of small packets (like ACK packets) going through your network. It would be like contracting a cargo ship to send one car. The ship is going to charge the same amount to sail whether you put one car on it or fill it to capacity. What this means is that the ACKs are taking away more capacity than their size would seem to do. (this is actually just normal, but it's a factor)
Fifth: I don't have the data to determine this from your situation, but I wanted to share this as another factor - given the time sharing situation, it means that any wireless client with a poor modulation rate can diminish the capacity of an entire AP. Whenever the slower client gets its turn, it takes longer to transmit the same amount of data than a faster client would do. So a slow client is taking up the same amount of time but transferring less data -> max throughput in payload gets decreased.
Sixth: The capacity of the AP is shared between all clients. (this seems obvious but I wanted to enumerate it as a consideration). Even though each client may be modulated at 150Mbps, they must all share the same time slices. It's not quite as simple as saying "the capacity of the AP is the same as the slowest client" or saying "the capacity is the same as the fastest client." It just depends on which clients are active and which aren't, and how much capacity they're attempting to use.
All this is to say that getting ~90Mbps of throughput on a WAP that's modulating 150Mbps links seems fair to me. I see these are 5Ghz band radios. If your RF environment is relatively clear, you could try bumping up the channel width to get 300Mbps mod rates.
When given a spoon,
you should not cling to your fork.
The soup will get cold.