R
You're trying to copy just the /venv directory, but that's not going to work. Take a look at the contents of that directory, for example:
root@52bdcc57abd8:/# python3 -m venv /venv
root@52bdcc57abd8:/# ls -l /venv/bin/
total 48
-rw-r--r-- 1 root root 8834 Oct 22 03:52 Activate.ps1
-rw-r--r-- 1 root root 1880 Oct 22 03:52 activate
-rw-r--r-- 1 root root 829 Oct 22 03:52 activate.csh
-rw-r--r-- 1 root root 1969 Oct 22 03:52 activate.fish
-rwxr-xr-x 1 root root 222 Oct 22 03:52 pip
-rwxr-xr-x 1 root root 222 Oct 22 03:52 pip3
-rwxr-xr-x 1 root root 222 Oct 22 03:52 pip3.9
lrwxrwxrwx 1 root root 7 Oct 22 03:51 python -> python3
lrwxrwxrwx 1 root root 22 Oct 22 03:51 python3 -> /usr/local/bin/python3
lrwxrwxrwx 1 root root 7 Oct 22 03:51 python3.9 -> python3
As you can see /venv/bin/python3 isn't actually a file, it' just a symlink to whichever version of Python was used to create the virtual environment.
You won't get away with just copying the binary, either, because you need the full set of runtime files from /usr/local/lib/python3.9, as well as any shared libraries that are by required by Python.
But when replacing base image with debian:11-slim everything works as expected.
In this case, you're installing a compatible version of Python...but if you're going to do that, you might as well just stick with the python:3.9-slim image.