I’m not sure how you’ve configured your Wordpress installation to handle images, but here’s what I’m seeing (as if I was the Twitter Cards Crawler aka “Twitterbot”), taking that image above as an example.
If I run (at the command line)
curl -A Twitterbot -v http://natebal.com/blog/wp-content/uploads/2016/02/fix-structured-data-errors.png
I receive a response HTTP 301 that the file has been permanently moved to another location.
If I then add -L (follow redirects) to my curl command
curl -L -A Twitterbot -v http://natebal.com/blog/wp-content/uploads/2016/02/fix-structured-data-errors.png
I get back a bunch of HTML rather than a PNG file, which I assume is a Wordpress page containing the image in a pretty manner.
So, our crawler never gets to the PNG file itself, which is why it is never displayed.
You’re right that this should be straightforward and I don’t usually see Wordpress users having this amount of difficulty with cards. I just tested my own site hosted on wordpress.com and the images are served correctly. I’m sorry you’re so frustrated.
I don’t know whether it will make any difference, but we have our own Wordpress plugin which you could try as an alternative to the ones you’ve tested. I suspect this is somehow related to the way your site is serving the images, though.