How do I refine my code in Sikuli? Seems very long and redundant
One way to get started improving your script is to find repeated code, then create a function to hold it.

For example, if your code starting with #BEGIN IMAGE CHECK 1 is duplicated for subsequent image checks, it could become a function that takes a Sikuli image file name - define it somewhere near the top of your file (NOTE: This assumes the same image filename is used consistently across this entire chunk of code, which may not be true in your unedited code):

def check_image(image_filename):
        if not exists(image_filename):
                print("%s not displayed correctly" % image_filename)
        if exists(image_filename):
                print("%s Unable to play" % image_filename)
                click(image_filename)
        else:                  
                jpgl = jpgl + 1                                                 
                click(image_filename)
                wait(1)        
                if not exists (image_filename):
                        wait(5) 


Then below that you can call the function with:

check_image('foo.jpg')


Then you should have a starting point for incrementally refining your code. At some point creating a class to hold your test logic could be useful as well.

I recommend reading up on functions and classes in Python - solid knowledge in those areas really helps out with Sikuli development:

http://docs.python.org/tutorial/controlflow.html#defining-functions

http://docs.python.org/tutorial/classes.html#tut-classes