(Would it be possible to split the posts about bundling zipapps and/or standalones to a separate thread?)
Aside from that, their single-file options will unpack themselves into a temporary directory, which AFAIK is not something zipapp does.
FWIW, over the last few hours I figured out a proof of concept that patches open so that code that does Path(__file__) / 'foo.txt' type tricks will work (with restrictions: it unzips to memory and creates a BytesIO or StringIO as appropriate - so read and write methods are available regardless of the “mode”, and writes won’t persist). I also worked out that something like pip install --target _vendor/ --only-binary :all: --platform=whatever requirements.txt can be used to set up a directory with dependencies for a given platform that could then be included in a zipapp, and of course the sys.path could be hacked at startup to include the vendored libraries.
I’d like to explore that route for the cases where a Python interpreter doesn’t need to be bundled but it should otherwise be turnkey. I think part of the reason zipapps aren’t popular is because the standard library zipapp doesn’t solve the “read a file from within the archive” problem and it’s annoying to have to modify the code to take those extra steps for when it gets zipapp’d.