It can have multiple reasons. I can't figure out how you created layer. Did you used venv locally and then uploaded library packages from it? How did you test if numpy was added successfully? Are you using correct version of Lambda layer?
Another simple approach I will suggest you to use by running container on Lambda. Put package via Dockerfile into image and run container using that image.