### 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.
raw_source = inspect.getsource(self.python_callable)
        res = dedent(raw_source)
        res = remove_task_decorator(res, self.custom_operator_name)
        return res
FParams = ParamSpec("FParams")
FReturn = TypeVar("FReturn")
OperatorSubclass = TypeVar("OperatorSubclass", bound="BaseOperator")
@attr.define(slots=False)
class _TaskDecorator(ExpandableFactory, Generic[FParams, FReturn, OperatorSubclass]):
    """
    Helper class for providing dynamic task mapping to decorated functions.
    ``task_decorator_factory`` returns an instance of this, instead of just a plain wrapped function.
    :meta private:
    """
    function: Callable[FParams, FReturn] = attr.ib(validator=attr.validators.is_callable())
    operator_class: type[OperatorSubclass]
    multiple_outputs: bool = attr.ib()
    kwargs: dict[str, Any] = attr.ib(factory=dict)
    decorator_name: str = attr.ib(repr=False, default="task")
    _airflow_is_task_decorator: ClassVar[bool] = True
    is_setup: ClassVar[bool] = False
    is_teardown: ClassVar[bool] = False
    on_failure_fail_dagrun: ClassVar[bool] = False
    @multiple_outputs.default
    def _infer_multiple_outputs(self):