The difference between the three frameworks/engines is the abstraction level.
Pyglet is low level compared to the other two and is based on SDL, a popular C++ multimedia library. You'll have to use pure OpenGL functions and constants to achieve the desired result, but it also has many built-in features, such as batches. This has pros and cons too, it's much harder to do anything with it, but it gives you a higher creative freedom.
Kivy is in the middle, it has Processing-esque built-in drawing functions, such as Ellipse, Rectangle, Text, Button, etc., but it has an OpenGL wrapper class.
Pygame is a bit higher level, it has many built-in constructs, such as the rectangle, circle, etc. If you want to achieve a higher level of creativity, then you can integrate it with PyOpenGL, though at which point you may just use Pyglet.