Doesn't Python support futures?
with ThreadPoolExecutor() as executor:
one, two = executor.map(lambda f: f(), [callOne, callTwo])
I'm sure you could write a nicer helper function that's more similar to gather as well.