> I never understood why it was impossible to have any kind of multithreading in emacs.
There are various ways to do multithreading in emacs now, but the answer to your question is usually “there’s a lot of existing elisp that isn’t thread-safe”, and that’s still kind of a problem.