When you install from pip, it will install the most recent version of Certbot that is compatible with the active Python version - which may be from the system, a user, or a virtual environment.
Usually not. Most of the work in recent Certbot releases (aside from "housekeeping" and under-the hood tooling) have been improving DNS plugins and web server configuration. There have been very little changes to the LetsEncrypt API, and few are expected. Certbot installations should be able to renew and obtain certificates for many years.
If Certbot has a problem installing a Certificate, and you don't know how fix it yourself, upgrading to a newer version of Certbot will usually address the problem.
hmm...
If you choose non-overlapping times and less often, I think that logic could be "reasonable".
[not recommended, but sometimes "both" is a better option than "left" or "right"?]
The recommended choice is by using a random start time.
In situations like that, usually one or two are installed by your Operating System and packages depend on them. Removing or altering them in any way can seriously break things. The third is usually user-installed because something requires a more recent version.
I would guess that 2.7 and 3.6 are system managed, and you somehow installed 3.9 yourself. Python doesn't take up much space, and the potential to break things and require a complete server reinstall is quite large.
@Osiris When I request a certificate from VPS server or by Cloudflare, how 'Let's Encrypt' verifies the ownership of a domain? That, the domain belongs to that particular VPS server or Cloudflare account?
Each of your Python installations has their own pip to manage their own set of compatible packages. You have 3 versions of python, so you have 3 versions of pip.
On linux-like machines, you can use these commands to see which are the active versions:
# show the version number
python --version
# show the active python
which python
# shows both the version number and active path
pip --version
If 1.22.0 installed, the active Python version for your environment is probably the 3.6.8 version and not the 3.9 version. You will have to modify your environment variables to prefer the 3.8 release.
Support for Python3.6 was dropped in Certbot 1.24.0, so 1.23.0 should have installed. Perhaps you had it cached somewhere.