### 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
sunos_facts['distribution'] = data.split()[0]
            sunos_facts['distribution_version'] = data.split()[1]
            sunos_facts['distribution_release'] = ora_prefix + data
            sunos_facts['distribution_major_version'] = uname_r.split('.')[1].rstrip()
            return sunos_facts
        uname_v = get_uname(self.module, flags=['-v'])
        distribution_version = None
        if 'SmartOS' in data:
            sunos_facts['distribution'] = 'SmartOS'
            if _file_exists('/etc/product'):
                product_data = dict([l.split(': ', 1) for l in get_file_content('/etc/product').splitlines() if ': ' in l])
                if 'Image' in product_data:
                    distribution_version = product_data.get('Image').split()[-1]
        elif 'OpenIndiana' in data:
            sunos_facts['distribution'] = 'OpenIndiana'
        elif 'OmniOS' in data:
            sunos_facts['distribution'] = 'OmniOS'
            distribution_version = data.split()[-1]
        elif uname_v is not None and 'NexentaOS_' in uname_v:
            sunos_facts['distribution'] = 'Nexenta'
            distribution_version = data.split()[-1].lstrip('v')
        if sunos_facts.get('distribution', '') in ('SmartOS', 'OpenIndiana', 'OmniOS', 'Nexenta'):
            sunos_facts['distribution_release'] = data.strip()
            if distribution_version is not None:
                sunos_facts['distribution_version'] = distribution_version
            elif uname_v is not None:
                sunos_facts['distribution_version'] = uname_v.splitlines()[0].strip()
            return sunos_facts
        return sunos_facts
class DistributionFactCollector(BaseFactCollector):