How funny that I am working through a problem incredibly similar to this. How in your code did you account for additional points? I know in the documentation that it mentions using | to separate points, but I have yet to get that to function. Below is the line of code I am using to generate my URL.
directions_url = f"https://www.google.com/maps/dir/?api=1&origin={lats[0]},{lons[0]}&destination={lats[1]},{lons[1]}"
print(directions_url)