text: Title: Support  `alias_generator` callable to return an instance of `AliasChoices`
  Body: ### Initial Checks
  
  - [X] I have searched Google & GitHub for similar requests and couldn't find anything
  - [X] I have read and followed [the docs](https://docs.pydantic.dev) and still think this feature is missing
  
  ### Description
  
  **Context**
  
  _Relates to https://github.com/pydantic/pydantic-settings/issues/406_
  
  When setting individual fields aliases, one can use `AliasChoices` to specify multiple alternatives (for an example, see this [comment](https://github.com/pydantic/pydantic-settings/issues/406#issuecomment-2352788218))
  
  But when using a callable as an `alias_generator`, the callable must return a `str`.
  
  
  **Feature request** 
  
  can   `alias_generator` be modified to also support Callables which return `AliasChoices`?
  
  
  **My current use case** 
  
  It would be as described in the linked pydantic-settings issue:
  
  > When using multi-word named settings, I would like to:
  > 
  > 1. for CLI, use dashes for word separation, as it is the most common approach I've seen in CLI programs
  > 2. for ENV variables, use underscores for word separation as it is the standard (and dashes are not supported anyway)
  
  Although I managed to achieve this by [setting AliasChoices for each individual field](https://github.com/pydantic/pydantic-settings/issues/406#issuecomment-2352788218), it would be great to remove so much repetition.
  
  **Code example**
  
  I would like to avoid repetition and be able to simply set an alias_generator like so:
  
  ```python
      model_config = SettingsConfigDict(
          cli_parse_args=True,
          env_nested_delimiter="__",
          alias_generator=lambda x: AliasChoices(x, x.replace('_','-'))
      )
  ```
  
  ### Affected Components
  
  - [ ] [Compatibility between releases](https://docs.pydantic.dev/changelog/)
  - [X] [Data validation/parsing](https://docs.pydantic.dev/concepts/models/#basic-model-usage)
  - [ ] [Data serialization](https://docs.pydantic.dev/concepts/serialization/) - `.model_dump()` and `.model_dump_json()`
  - [ ] [JSON Schema](https://docs.pydantic.dev/concepts/json_schema/)
  - [ ] [Dataclasses](https://docs.pydantic.dev/concepts/dataclasses/)
  - [X] [Model Config](https://docs.pydantic.dev/concepts/config/)
  - [ ] [Field Types](https://docs.pydantic.dev/api/types/) - adding or changing a particular data type
  - [ ] [Function validation decorator](https://docs.pydantic.dev/concepts/validation_decorator/)
  - [ ] [Generic Models](https://docs.pydantic.dev/concepts/models/#generic-models)
  - [ ] [Other Model behaviour](https://docs.pydantic.dev/concepts/models/) - `model_construct()`, pickling, private attributes, ORM mode
  - [ ] [Plugins](https://docs.pydantic.dev/) and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.