Your comment replies do not work because you’re using a custom comment rendering callback function named better_comments
, and this function hardcodes the classes IDs and other attributes rather than calling functions such as comment_ID
.
I strongly suggest abandoning this function, and instead opting for the default commenting from a default theme. This way you can start from a known good solution, and add the functionality you want correctly and incrementally.
Additionally, lots of the things you want to add do not need a custom comment renderer, e.g. changing the reply link text can be done with filters, as can adding extra links.
You might also have forgotten to enqueue the comment reply script:
// Threaded comment reply styles.
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}