Adding text to the footer of each post based on tags or categories

I would suggest a filter on the_content much like:

function conditional_footer_wpse_165930() {
  if (is_single()) {
   if (has_category('cat')) {
      return 'This is the cat footer';

I am not sure about all of the details you require. You may need to tweak that code.