:!python3 calls the first python3 executable found in $PATH, which is probably a link of sort to python3.8.
If you want it to be a link to something else, then do it at the system level. Refer to Python's documentation for how to do that.
This has nothing to do with Vim.
:!will run a non-interactive shell by default. Depending on the shell used, some initialization files may be skipped, e.g. Bash will not read~/.bashrcwhen started non-interactively. Hypothesis: you happen to append toPATHor define an alias for Python and it's not available. Refer to your shell's documentation or edit and clarify.