Как вывести самую длинную цепочку из символов в алфавитном порядке?
Проблема из-за условия проверки
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])
Ну в принципе, это можно решить через regex
import re
from string import ascii_uppercase as as_up

print(max(re.findall('*'.join(as_up)+'*', s), key=len))