Потому что нужно почитать документацию на функцию max
Если max\min передать строки - он найдет строку(!) подходящую лексиграфически, то есть в алфавитном порядке.
Строка '10' < '9', так как 1 идет раньше 9.
Не надо переопределять встроенные имена. Считайте их зарезервированными и недоступными для именования переменных
max = max(s)
min = min(s)