Оба варианта корректны.
Может быть, так: сердце птицы работает..?
Колокол стучит? См.: https://dic.academic.ru/dic.nsf/dic_wingwords/2038/%D0%9F%D0%B5%D0%BF%D0%B5%D0%BB
Правильно: скрепя сердце – против воли, против своих убеждений, мужественно. Скрепя - то же, что скрепив. Оборот, вероятно, связан с движением хватания себя за сердце при сильном седцебиении от волнения, то есть буквально: "скрепить сердце чем-нибудь" . Скрепить в этом выражении имеет внутреннюю форму "сделать крепким".
И так и так верно.
Постановка запятой не требуется.
Корректно: К добродетельному человеку он относится как к добродетельному, а к порочному – как к человеку, способному к добродетели.