…when I invoke draw API in openGL who does the actual job of drawing/coloring of the actual pixels on the screen?
The GPU does. (At least, if there is one; there are also “software” OpenGL implementations which use the CPU alone.)
But there are intermediate steps between “called an OpenGL function” and “drawing is performed by the GPU”; the GPU does not know what to do with OpenGL functions. (Once upon a time, this might have been less true, but today, GPU architectures are very different from the basic concepts of OpenGL.)
Does openGL has library implementation of draw that sends the instructions on how to draw shapes? or draw API hits the graphics processing unit …
When you load the OpenGL API, you get a set of functions that were provided by the installed OpenGL implementation. Those functions may do whatever they want as long as the end result is drawing stuff according to the OpenGL specification.
In the typical case, those functions are provided along with the GPU driver by your GPU vendor, and those functions, when they execute inside your program, translate the OpenGL instructions into something that better suits the specific GPU model you have, then use system calls to send those translated instructions to the GPU driver (which handles requests from all the separate programs asking to use the GPU).
The GPU driver will then send those translated instructions to the GPU over the system bus, and the GPU executes them, causing shapes to be drawn into GPU framebuffer memory. (That framebuffer will then end up sent to the actual video output, on a separate schedule. And there may be additional steps such as window composition before a single application's content appears on screen.)
But all of the details of how all of this works are not part of the OpenGL API — OpenGL just says “if you call these functions in the right way, there will be a picture”, and leaves it up to the implementation to choose a means.