### Summary

Amazon Linux 2 results in Python interpreter discovery warning, because RedHat in [OS_FAMILY_MAP](https://github.com/ansible/ansible/blob/devel/lib/ansible/module_utils/facts/system/distribution.py) has 'Amazon' as the value, rather than 'amzn' as is actually returned by Amazon Linux 2, which then trips up on:
https://github.com/ansible/ansible/blob/9f4dfff69bfc9f33a487e1c7fee2fbce64c62c9c/lib/ansible/executor/interpreter_discovery.py#LL115C1-L117C92
```
        version_map = platform_python_map.get(distro.lower().strip()) or platform_python_map.get(family)
        if not version_map:
            raise NotImplementedError('unsupported Linux distribution: {0}'.format(distro))
```
If I add 'amzn' to the RedHat list in OS_FAMILY_MAP, /usr/bin/python is used as the interpreter, and no warning is issued. Using distribution.py as is, a warning is issued, and python3.7 is used, which was additionally installed on the test system.

### Issue Type

Bug Report

### Component Name

Python interpreter discovery

### Ansible Version

```console
$ ansible --version
ansible [core 2.15.0]
  config file = <redacted>/ansible.cfg
  configured module search path = ['<redacted>/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.11/site-packages/ansible
  ansible collection location = <redacted>/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.11.3 (main, Apr  7 2023, 00:46:44) [GCC 12.2.1 20230201] (/bin/python)
  jinja version = 3.1.2
  libyaml = True
```


### Configuration

```console
# if using a version older than ansible-core 2.12 you should omit the '-t all'
$ ansible-config dump --only-changed -t all
CONFIG_FILE() = <redacted>/ansible.cfg
DEFAULT_FORKS(<redacted>/ansible.cfg) = 30
DEFAULT_HOST_LIST(<redacted>/ansible.cfg) = ['<redacted>/inventory']
DEFAULT_ROLES_PATH(env: ANSIBLE_ROLES_PATH) = ['<redacted>']
DEFAULT_TIMEOUT(<redacted>/ansible.cfg) = 60
EDITOR(env: EDITOR) = /usr/bin/vi
HOST_KEY_CHECKING(<redacted>/ansible.cfg) = False

CONNECTION:
==========

paramiko_ssh:
____________
host_key_checking(<redacted>/ansible.cfg) = False
timeout(<redacted>/ansible.cfg) = 60

ssh:
___
host_key_checking(<redacted>/ansible.cfg) = False
timeout(<redacted>/ansible.cfg) = 60
```


### OS / Environment

Amazon Linux 2

### Steps to Reproduce

Gather facts from Amazon Linux 2:
```
<redacted> (0, b'{"platform_dist_result": ["", "", ""], "osrelease_content": "NAME=\\"Amazon Linux\\"\\nVERSION=\\"2\\"\\nID=\\"amzn\\"\\nID_LIKE=\\"centos rhel fedora\\"\\nVERSION_ID=\\"2\\"\\nPRETTY_NAME=\\"Amazon Linux 2\\"\\nANSI_COLOR=\\"0;33\\"\\nCPE_NAME=\\"cpe:2.3:o:amazon:amazon_linux:2\\"\\nHOME_URL=\\"https://amazonlinux.com/\\"\\n"}\n', b'<stdin>:29: DeprecationWarning: dist() and linux_distribution() functions are deprecated in Python 3.5\n')
```

### Expected Results

No python interpreter warning.

### Actual Results

```console
[WARNING]: Platform linux on host <redacted> is using the discovered Python interpreter at /usr/bin/python3.7, but future installation of
another Python interpreter could change the meaning of that path. See https://docs.ansible.com/ansible-
core/2.13/reference_appendices/interpreter_discovery.html for more information.
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
self.module = module
    def get_distribution_facts(self):
        distribution_facts = {}
        
        
        
        system = platform.system()
        distribution_facts['distribution'] = system
        distribution_facts['distribution_release'] = platform.release()
        distribution_facts['distribution_version'] = platform.version()
        systems_implemented = ('AIX', 'HP-UX', 'Darwin', 'FreeBSD', 'OpenBSD', 'SunOS', 'DragonFly', 'NetBSD')
        if system in systems_implemented:
            cleanedname = system.replace('-', '')
            distfunc = getattr(self, 'get_distribution_' + cleanedname)
            dist_func_facts = distfunc()
            distribution_facts.update(dist_func_facts)
        elif system == 'Linux':
            distribution_files = DistributionFiles(module=self.module)
            
            dist_file_facts = distribution_files.process_dist_files()
            distribution_facts.update(dist_file_facts)
        distro = distribution_facts['distribution']
        
        distribution_facts['os_family'] = self.OS_FAMILY.get(distro, None) or distro
        return distribution_facts
    def get_distribution_AIX(self):