Is there a Python program that is able to show convergent and divergent evolution on a phylogenetic tree?
Well in the absence of a definition of 'divergent evolution' I would simply use a definition of allopatry. If the divergence is congruent with geographic distance or geographic foci this provides some proof of divergent evolution.
In this context you are looking for something like the biogeographic BAyesian analysis such as BayArea or geographic add-ons to Beast
There isn't a singular Python library that will handle this but there is some functionality with Biopython here
from Bio import Phylo