This is easier now using the 3D fill_between function added in matplotlib 3.10. See here for a demo on how to use it: https://matplotlib.org/stable/gallery/mplot3d/fillbetween3d.html#sphx-glr-gallery-mplot3d-fillbetween3d-py
fill_between