Ok, so really both mode and temp are triggering the rule in this case. In SmartRules, the rule is only triggered by the fields in the triggers section. Conditions are only checked once the rule has triggered. You could create the rule you want by using both triggers and conditions:
if any of these happen:
evening is activated
temp goes below 20
while ALL of these are true:
evening is active
temp is below 20
then do this:
turn on heater
We don’t have the option to add an action if false, so you would need another rule to turn it off. I guess you would want some different trigger for that anyway, like temp goes above 22?