Selecting a subset of the data from a list
It looks like you want to split a large list of items to equal sized chunks.
I suggest using a helper generator:

def chunks(items, size):
    for start in range(0, len(items), size):
        yield items[start:start+size]


Using this, your main task becomes simply:

for day_list in chunks(all_dates, 24):
    print_dates(day_list)