This is due to fact that you modify your list when iterating it. You can check what's going on with pythontutor.com visualizer or add some print
statements like this:
templist = ['', 'hello', '', 'hi', 'mkay', '', '']
for i, element in enumerate(templist):
print("Step", i)
print('element is', repr(element), 'and templist is', templist)
if element == '':
print("element is empty")
templist.remove(element)