Проблема из-за условия проверки
if ord(text[i + j]) - ord(elems[-1][-1]) < 2
в условии последовательности требуется, чтобы последующая буква была не меньше предыдущей, не понятно, с чего Вы вдруг такое условие написали.
Вообще нет надобности сохранять куда-то сами последовательности, тем более, что требуется только первую из самых длинных. Как можно это сделать:
Проходим по символам последовательности и проверяем, стал ли ord() текущего символа меньше предыдущего. Если стал, то последовательность закончилась. Проверяем, не стала ли эта последовательность больше предыдущей. Если да, обновляем данные максимальной последовательности (стартовую позицию и длину).
В противном случае переходим к следующему.
Примерно так:
spoilertext = ...
text_len = len(text)
max_len = 0
max_idx = 0
seq_idx = 0
prev = 0
for i, x in enumerate(text):
if ord(x) < prev:
seq_len = i-seq_idx
if seq_len > max_len:
max_len = seq_len
max_idx = seq_idx
seq_idx = i
elif i==text_len-1:
seq_len = i-seq_idx+1
if seq_len > max_len:
max_len = seq_len
max_idx = seq_idx
prev = ord(x)
print(max_len, text[max_idx:max_idx+max_len])