Я полагаю, что проблема связана с функцией, имеющей то же имя, что и сама кнопка. У меня была такая же проблема и смена названия кнопки исправила. Похоже, что изменение названия вашей кнопки исправило ее и для вас.
Гипотеза:
Я бы предположил, что когда имена совпадают, интерпретатор пытается вызвать саму кнопку, а не функцию. Поскольку кнопка не является функцией, она выдает ошибку.
У меня нет объяснения, почему это работает для вас, когда вы вне формы. Возможно, когда кнопка находится за пределами формы, интерпретатор не будет автоматически подключать ее как доступный объект таким же образом, или, возможно, к ней придется обращаться через «родительский объект».