Let me answer that with a question: Why PCRE2 instead of PCRE?
We don't need PCRE2 to perform global matching; we can just call the matching function in a loop, just like PCRE2 does according to your quote. RegExReplace already does this. The reason we don't have a global matching function built-in is that none of the developers cared to add it. It is easy enough to use RegExMatch in a loop - these are not "attempts at workarounds", but perfectly valid solutions to a problem.
Rather than "Why PCRE instead of PCRE2?", the question is really "Why hasn't the version of PCRE used by AutoHotkey been updated?". The answer is, again, that none of the developers cared to do it.
By "developers", I mean anyone with the will to make a contribution of that nature. Personally, I never even considered updating to PCRE2, because I'm not aware of any reason to do so and have no interesting in finding one.
The reason PCRE2 is not just "PCRE version 10" is that its API is not compatible. It isn't just a case of dropping in the PCRE library and making use of the new features; any code dealing with PCRE has to be updated.