Get posts from Custom Taxonomy

Your very first block of code is the correct way to do things. Under no circumstances should an archive template be using a custom WP_Query for querying its posts. WordPress queries the correct posts for you based on the URL, and you output them with the standard WordPress Loop:

while ( have_posts() ) : the_post();

endwhile; 

There’s a few things that could be causing problems though.

Firstly, I noticed though is that your first block of code has the Template Name block at the top:

/**
* Template Name: Resources
*/

This is only supposed to be used so that the template appears as an option under Template when editing a page, but that’s not how custom post type archives are supposed to work.

That brings me to the next potential issue, which is the post type itself. When you register a post type, its archives will be automatically available at /resources/, without creating a page. Creating archive-resources.php just tells WordPress to use that template, but if you don’t have that template WordPress will still load the correct posts, only it will be using index.php instead. This is outlined in the Template Hierarchy.

For this to work though, your post type needs to be public, and has_archive cannot be false:

// OK
'public' => true,

// NOT OK
'public'      => true,
'has_archive' => false,

// OK
'public'      => true,
'has_archive' => true,

// OK
'public'      => true,
'has_archive' => 'resources',