Including Custom fields within the_content

I thought of creating a shortcode to insert into the content of the
post, but while I can create one that includes just text, when I put
the above code into the shortcode.php file, it breaks.

Your code outputs data to the screen. You can’t do that with filters like the_content. You need to concatenate a string and return it. Something like:

function the_content_cb($content) {
  $str="";
  if( get_field('kindle') ) {
    $str .= '<a href="'.get_field('kindle').'"><img src="url.com"></a>';
  }

  if( get_field('nook') ) {
    $str .= '<a href="'.get_field('nook').'"><img src="url.com"></a>';
  }
  return $content.$str;
}

Note: the_field() is a plugin function– Advanced Custom Fields–, as is get_field().