venv is a concept of the Python programming language. The problem it solves has to do with dependencies. A Python program usually depends on other programs, which reside in files named libraries. For a Python program to work, the necessary libraries need to be installed on the computer. Installed libraries are then shared by all Python programs.
Some Python programs don't only need libraries, but certain versions of those libraries. This can lead to version clashes - program 1 needs version 10 of library xyz, and program 2 needs version 11 of the same library. To avoid such clashes, one can set up a virtual environment or venv, which is a filesystem directory tree that contains the libraries a program requires.
A user, on the other hand, has nothing to do with Python, libraries or library versions. A user only has access to certain files in the system, which limits the damage that user can cause. The exception is the superuser, almost always named root, which has access to everything.
There is a relationship between users and venvs. A non-root user can't overwrite Python libraries that are shared among all users. However, the user can create a venv, where it has full read and write access to all files, which allows it to create and update Python libraries.