The A/C is definitely not "full on or full off." It sets an evaporator temperature based on current conditions (interior temperature, desired temperature, humidity, sun load). It will then adjust the fan speed to use what it thinks is the minimum air volume required to maintain occupant temp. If humidity is high and it needs to do more dehumidification without providing a lot of cabin cooling, the system will add heat to bring the discharge air temperature up (it's called re-heat).
On a really hot day, the system will provide more fan speed while maintaining the same evaporator temperature. The additional load from the increased air flow causes the compressor speed to increase in order to maintain the evaporator setpoint. No heat should be added on a hot day.
On a cool day, the system will use outside air for cooling instead of running the compressor, which saves energy.
If, as your example describes, the system is heating and cooling simultaneously, it's because it is trying to dehumidify without freezing the occupants out with excessively cold air from the vents. Simply ramping down the compressor might increase the evaporator temperature above the dewpoint, resulting in no dehumidification.
This operation is pretty industry standard theory for commercial and car HVAC systems.
All of that said, Tesla is pretty aggressive with re-heat, particularly with the floor vents. Oftentimes I find the dash vents blowing cool outside air while the floor vents are roasting my feet. They could dial back the floor discharge temperature target a bit and save energy and increase occupant comfort. I think this is a remnant of Tesla addressing cold floor heating performance in Model S & X and they ended up going a little overboard.