find . -type f \( -name '*.jpg' -o -name '*.jpeg' -o -name '*.png' \
-o -name '*.html' \) -exec sh -c '
for file do
IFS= read -r line &&
case $line in
("#!"*) printf "%s\n" "$file: $line"
esac
done' sh {} +
Or with GNU awk:
find . -type f \( -name '*.jpg' -o -name '*.jpeg' -o -name '*.png' \
-o -name '*.html' \) -exec awk '
/^#!/ {print FILENAME ": " $0}; {nextfile}' {} +