Решение
TL/DR: Ты получаешь 'return None' потому, что твоя функция ничего не возвращает после первого вызова (если при первом запросе указан не int), а return от вложенных функций у тебя никак не обрабатывается.Тем не менее кто сможет, объясните почему не работал мой вариант, который я расписал пошагово.
Как вариант, можно сделать так (добавлен return в except):
Python:
def digit_check():
try:
lenght = int(input('Enter the number:\n'))
return lenght
except ValueError:
print('Please, enter the number\n')
return digit_check()
a = digit_check()
print(a)