В unicode символ может быть представлен в виде одного или двух символов в зависимости от вида нормализации:
habrahabr.ru/post/45489
Можете попробовать использовать метод normalize():
'ё'.normalize('NFC').length == 1
- true
тогда как
'ё'.normalize('NFD').length == 2
- true