Для начала определи, что значит "чем больше".
У тебя есть четкие границы 5 и 20 для генератора. А для строки это сколько? В теории строка может быть "бесконечной".
Определи, максимальную длину строки для 20 и просто вычисляй процент с округлением.
Предположим, что для 20 строка должна быть 40 символов.
len - длина строки
MaxLen = 40 (макс длина строки)
MinRand = 5 (минимум в рандоме)
MaxRand = 20 (максимум в рандоме)
Rand = round(((100 / MaxLen * min(MaxLen, len)) / 100) * (MaxRand - MinRand))
textInt = random.randint(MinRand, Rand + MinRand)