There are elements of history and philosophy here. LaTeX was first written by Leslie Lamport to provide a 'user' interface to TeX that abstracted away some of the 'bare metal' of the typesetting. Lamport handed over the the current team in the late 1980s, by which time LaTeX was already popular in some academic circles. The integration of ideas from AMS-TeX into
amsmath, and the (N)FSS font selection scheme, both occurred in the mid-to-late 1990s. These developments helped LaTeX to attract a significant audience in academia. It also means that 'LaTeX' ~ 'TeX' is used as a way to describe math mode markup well outside typesetting, e.g. MathJaX.
ConTeXt is as the question states also the original product of one person, here Hans Hagen. Hans started with in some ways less desire to abstract from TeX. For example, ConTeXt does not try to have any 'required' approach to defining document design, in contrast to LaTeX's document class concept. ConTeXt also started with a much richer interface setup, of course at the time with performance implications: these are no longer anything to worry about. ConTeXt was first developed long after LaTeX, and has not had significant take-up for academic publications.
LaTeX has attracted a large number of third-part package authors. In part this is arguably as the kernel was and still is very small in terms of functionality. ConTeXt by contrast has a lot of modules written by Hans and others at Pragma, but relatively few third-party extensions.
The two formats have historically different approaches to stability. Whilst LaTeX does change, there is a lot of work done by the team to try to keep existing documents unchanged. Also, the large number of third-party packages means that there are (internal) interfaces that are very difficult to adjust. This means there is a tendencies to avoid change, or at least to manage it very carefully. ConTeXt, with a small team responsible for most of the code, can be freer in terms of change. At the same time, ConTeXt users do know that the core is in active development and can require more active document management. That is not to say that ConTeXt deliberately breaks documents - the basic syntax for ConTeXt is the same in Mark II, Mark IV and Mark XL. But for example ConTeXt has moved from pdfTeX to LuaTeX to LuaMetaTeX, and that means that a user who used some primitives directly in their source will have had to update it: a LaTeX user might complain loudly if the same happened to them.
The LaTeX team had a rather fallow period in terms of kernel development for various reasons. One was that after the launch of LaTeX2e, the thinking was to freeze the kernel code entirely (for stability), and to aim to write a new LaTeX ('LaTeX3') to address long term desires. However, the large number of both users and particularly packages makes that a very challenging proposition. There is no doubt that ideas developed in ConTeXt over that period could and should be picked up by LaTeX: one can only though work on the situation now, not what hindsight suggests. (The LaTeX team had for example something a bit like CSS before CSS was invented, but it was not workable when developed and now has to work in a world that does have CSS.)
Work by the LaTeX team at present is focussed on adding things like tagging, which as the question notes is achievable using ConTeXt today. The constraint for LaTeX is of course in a sense self-imposed: that users do not have to update their documents at all. There is also the question of detailed engine outcomes. ConTeXt uses LuaMetaTeX, which like LuaTeX deliberately breaks some outcomes predictable for TeX90/pdfTeX/XeTeX/... For example, hyphenation is not tied to font, which may change line breaking and therefore typeset output. Similarly, using 8-bit fonts is non-trivial with LuaMetaTeX/LuaTeX, while for existing pdfTeX documents, keeping the font identical may be very important.
As noted at the start, there are some differences in philosophy between LaTeX and ConTeXt. For example, even if the 'LaTeX3' plans had been fully implemented, LaTeX would still pre-define design in classes or similar. ConTeXt does not do that, and that is a reasonable but contrasting position. As such, there are places that 'marrying the two' would be hard.