I have some code that does it. I'm not sure if this is the best approach for very long lists, but it should work for the list you posted.
ps. No numpy :)
def unique(list1): 
    # intilize a null list 
    unique_list = [] 
    # traverse for all elements 
    for x in list1: 
        # check if exists in unique_list or not 
        if x not in unique_list: 
            unique_list.append(x) 
    # print list 
    return unique_list
My_list = [1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1]
#Create an array with the unique values from your list
unique_list = unique(My_list)
#Create a list with size = amount of unique values
zeros = [0 for _ in range(len(unique_list))]
count = 1
for i in range(0,len(My_list)-1):
    #Is the following consecutive value equal to the current value? 
    if (My_list[i] == My_list[i+1]) and (i != len(My_list)-2): 
        #count how many consecutive repetitions you have
        count = count + 1
    else:
        idx = unique_list.index(My_list[i])
        #If it's the highest amount of repetitions, save it
        if zeros[idx] < count:
            zeros[idx] = count    
        count = 1
for i in range(0, len(unique_list)):
    print("Highest consecutive "+ str(unique_list[i]) + "'s are: " + str(zeros[i]))