CHANGE adjusting the excerpt/content now only happens on a single badge page.
FIX content on all pages was being affected as the closures were't returning the original value passed into the filter if the conditional wasn't met
CHECK logic for this is as you expect, I'm not sure where the_excerpt is run on the badges pages (possibly the badges main archive page, if so is_post_type_archive( 'badges' ) may be what you want in the logic.