なんで上記コードでは、awkスクリプト全体の「'」と
正規表現中の「'」がうまく認識されるのですか?

awk '
$0 !~ /^'

ここでぶったぎられそうな気がするのですが。