Sorry to be so late chiming in here. I've only now encountered this due to the 9.6 release. In short, org-assert-version is an absolute disaster for me.
At the very least org-assert-version should be non-fatal by default. Without going into too much detail, an orgstrap shebang block is forced to use the system installed version of org because it is intended to work in the absence of an init.el file, or before an init.el file can ever be loaded. This means that if a newer version of org is installed then no code can ever run again after that package is visible on the load path because loading the newer version of org will immediately cause an error when something (e.g. ob-python) tries to require org-macs, terminating the execution of the orgstrap block prematurely. There is no simple workaround, and there is no guaranteed workaround aside from going to great lengths to only ever use the builtin version of org. I'm not going to write anything else at the moment because I've just spent the last 3+ hours trying to deal with this and am in an extremely uncharitable mood. Tom