Czy możliwe, że błąd leży w funkcji replace() ?
Błąd leży w tym, że:
sentence.replace(i, "")
tworzy instancję nowego obiektu, którą reprezentuje new_string. Z ciągu znaków, który ten obiekt reprezentuje, w pierwszym kroku pętli zostają usunięte pierwsze wystąpienia danej samogłoski. W następnym kroku znów odwołujesz się do pierwotnego obiektu, a on posiada komplet samogłosek. Trzeba minimalnie zmienić kod:
sentence = raw_input("Please enter your sentence:\n")
vowel = ["e", "o", "u", "y", "a", "i"]
for i in sentence:
if i in vowel:
sentence = sentence.replace(i, "")
print(sentence)
Bezpieczniej też skorzystać z raw_input().