{{ $related := .Site.RegularPages.Related . | first 3 }}
should be (untested)
{{ $blogPosts := where .Site.RegularPages "Type" "blog" }}
{{ $related := $blogPosts.Related | first 3 }}
For the first part of your query:
For that we need to know what .Params.hero
is evaluating to, as well as your site structure (and if you have any render hooks that alter the way images are handled).
See Requesting Help