Причина неработоспособности данного метода заключается в том, что в первом примере функция add_numbers() объявлена внутри функции add_three_numbers(), и поэтому она не доступна в глобальной области видимости.
Для улучшения кода и исправления проблемы нужно объявить функцию add_numbers() в глобальной области видимости до вызова функции add_three_numbers().
Основное различие в поведении вызова функции в этих двух примерах заключается в том, что во втором примере функция add_numbers() объявлена до функции add_three_numbers(), поэтому она доступна для вызова внутри функции add_three_numbers().