### Description

We have a use case where we would like to run a job runs in EMR Serverless where the job name should contain the start date.
For example: `name="[{{ ds }}] testing"`.

The solution presented in [31711](https://github.com/apache/airflow/issues/31711) does not work, because command
[self.name = name or self.config.pop("name", f"emr_serverless_job_airflow_{uuid4()}")](https://github.com/apache/airflow/blob/main/airflow/providers/amazon/aws/operators/emr.py#L1229) 
removes the `name` parameter from the `config` when initializing the `EmrServerlessStartJobOperator` operator

### Use case/motivation

_No response_

### Related issues

https://github.com/apache/airflow/issues/31711

### Are you willing to submit a PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

"""Create and return an EmrContainerHook."""
        return EmrContainerHook(
            self.aws_conn_id,
            virtual_cluster_id=self.virtual_cluster_id,
        )
    def execute(self, context: Context) -> str | None:
        """Run job on EMR Containers."""
        self.job_id = self.hook.submit_job(
            self.name,
            self.execution_role_arn,
            self.release_label,
            self.job_driver,
            self.configuration_overrides,
            self.client_request_token,
            self.tags,
        )
        if self.deferrable:
            query_status = self.hook.check_query_status(job_id=self.job_id)
            self.check_failure(query_status)
            if query_status in EmrContainerHook.SUCCESS_STATES:
                return self.job_id
            timeout = (
                timedelta(seconds=self.max_polling_attempts * self.poll_interval)
                if self.max_polling_attempts
                else self.execution_timeout
            )
            self.defer(