### Body

Currently when you use multiple-outputs in decorator and it gets None value, it crashes.

As explained in https://github.com/apache/airflow/issues/32553 and workaround for ShortCircuitOperator has been implemented here:  https://github.com/apache/airflow/pull/32569 

But a more complete fix for multiple-outputs handling None is needed. 

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
return "abc"
        work_task = my_work()
        setup_task = my_setup()
        teardown_task = my_teardown()
    assert work_task.operator.trigger_rule == TriggerRule.ALL_SUCCESS
    assert setup_task.operator.trigger_rule == TriggerRule.ALL_SUCCESS
    assert teardown_task.operator.trigger_rule == TriggerRule.ALL_DONE_SETUP_SUCCESS
def test_teardown_trigger_rule_override_behavior(dag_maker, session):
    with dag_maker(session=session) as dag:
        @dag.task(trigger_rule=TriggerRule.ONE_SUCCESS)
        def my_work():
            return "abc"
        @setup
        @dag.task(trigger_rule=TriggerRule.ONE_SUCCESS)
        def my_setup():
            return "abc"
        @teardown
        @dag.task(trigger_rule=TriggerRule.ONE_SUCCESS)
        def my_teardown():
            return "abc"
        work_task = my_work()
        setup_task = my_setup()
        with pytest.raises(Exception, match="Trigger rule not configurable for teardown tasks."):
            my_teardown()
    assert work_task.operator.trigger_rule == TriggerRule.ONE_SUCCESS
    assert setup_task.operator.trigger_rule == TriggerRule.ONE_SUCCESS