See the bug report at https://github.com/home-assistant/core/issues/47629
When calling climate.set_temperature, you are required to send all of hvac_mode, target_temp_low, target_temp_high even when you only want to set one of those three values. This generates unnecessary traffic on low bandwidth modes (e.g. z-wave), requires additional templating in automations when trying to leave one of the other values at “whatever it was before”, and is also inconsistent with other service calls within home assistant, most of which you can set a single parameter without having to set other parameters that you don’t care about.
Considering that manual temperature changes through lovelace thermostat cards only send the one value you’re trying to change, and not all 3, it seems that there is no technical reason to force the user to enter the other information if they do not want it changed, and several problems would be solved by removing the requirement.