We have no current plans of dropping Python 2 support for modules in the near future. With EL 7 EOL scheduled for 2024, it’s possible that we continue python2 support for modules until then.
While you can install python3 on CentOS, they do not provide yum or selinux python bindings for Python3. Which makes it not totally useful in the context of many things done via Ansible.
In short, you generally need to use the system python for many operations.
Is my understanding correct that CentOS 7 is EOF jan 2020 if you want
Python3? Python3 implies CentOS 8 or higher?
Well, I think it's more nuanced than that. CentOS/RHEL7 now does have
python3.6 shipped with it, but of course it doesn't have all the modules
that python2 has there.
If your control host is rhel/centos7 and any of your target hosts are
rhel/centos7 then yeah, you can't use python3 ansible and the package
module. (since it requires the python2 yum bindings).
python3 ansible should work for the other cases.. where you have newer
target hosts, don't use package module, etc.