Careful, there's three different terms in the mix here:
NixOS: an entire operating system, you don't need this.
nix: the nix package manager. This is what you'll need to install. look for single user install in the instructions.
home-manager: a module for nix. It's aim is to allow declarative configuration of a users' home configuration (and allow easier per-user install of packages on a global nix install).
If you want to go down the nix route, which I would recommend if you enjoy tinkering and having fine control over your system, you should start with installing nix. With that, you can already setup a shell that has the newest version of python available.
Going beyond that, I can link you some more resources, if you want c:
Source on the second statement? My understanding was that nix-shell is legacy for systems without flakes and nix-command enabled, and are being replaced by nix shell/run/develop