NOTE: This was done on windows and it seems like you are on Mac but going through different processes and answers from other people it seemed like the same steps.
Just ran into something like this myself and figured I'd throw out an answer even though its late. The recommended solution for importing modules is to use layers. That worked best for me included. Package your modules like so
package.zip
|_python (Has to have this python folder with module(s) inside)
|_pydantic
|_pydantic.version.dist
Then go to Lambda > Layers > Create layer, name and describe your layer. Upload the whole zip file. Pick your architecture and runtime (mandatory even though it says optional). After creating the layer, go to your lambda function and attach the layer by going to Code > Layers > Add a Layer, then choose add a custom layer and pick the layer you just created.
Hope it works/you already figured out the problem!