Thanks. This was solved by unregistering one of the python distributions that I had on the system. The two methods were accessing different distributions.
You should be able to use StartExternalSession to create an ongoing Python session that you can import things into before doing your main ExternalEvaluate calls.
This should also make the repeated calls a bit faster, so that is a plus.