EME is a spec for a communication channel between script in a web page and a browser, with the idea that the browser then talks to a DRM module. It's not a spec for a communication channel between the browser and a DRM module.
This is important, because it means that you end up with DRM modules that are tied to a particular browser.
The NPAPI plugin situation is unfortunate in all sorts of ways, but the one good thing it had going for it was that there _was_ an API that multiple browsers all implemented, such that a single plugin binary woudl work in all of them (modulo the usual bugs and incompatibilities you have when there are multiple implementors of an API).
Unfortunately, 3 of the 4 main browser vendors also happen to be DRM vendors, and were rather united in their opposition to the W3C creating a specification for the communication channel between the browser and the DRM module.