You forgot to add the link to create a group when you changed header tag from:
<h3><?php _e( 'Groups Directory', 'buddypress' ); ?><?php if ( is_user_logged_in() && bp_user_can_create_groups() ) : ?> <a class="button" href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/create' ); ?>"><?php _e( 'Create a Group', 'buddypress' ); ?></a><?php endif; ?></h3>
to
<header class="entry-header"><?php _e( 'Groups Directory', 'buddypress' ); ?></header>
Should be either
<header class="entry-header"><?php _e( 'Groups Directory', 'buddypress' ); ?><?php if ( is_user_logged_in() && bp_user_can_create_groups() ) : ?> <a class="button" href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/create' ); ?>"><?php _e( 'Create a Group', 'buddypress' ); ?></a><?php endif; ?></header>
or bring out the create groups link into seperate line like so
<code><header class="entry-header"><?php _e( 'Groups Directory', 'buddypress' ); ?></header>
<?php if ( is_user_logged_in() && bp_user_can_create_groups() ) : ?><p><a class="button" href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/create' ); ?>"><?php _e( 'Create a Group', 'buddypress' ); ?></a></p><?php endif; ?>
</code>