Metal, OpenCL, OpenGL are all different Application Programming Interfaces (API's). No graphics Hardware directly executes an API, the API system calls are translated into graphics Hardware command primitives that the graphics Hardware carries out.
Saying that MacOS Mojave and emulated Windows does not run OpenCL and OpenGL is not correct. Of course MacOS supports them.
But Mojave and later do not use OpenCL and OpenGL for their own internal system calls. They require Metal API support. Metal support is provided in Mojave and later MacOS, but not for every graphics Hardware that ever existed. Some are considered too old, and a Metal to graphics Hardwire translator has not been written for older Hardware (especially pre 2010).