The RFC 3330 explains you why:
127.0.0.0/8 - This block is assigned for use as the Internet host
loopback address. A datagram sent by a higher level protocol to an
address anywhere within this block should loop back inside the host.
This is ordinarily implemented using only 127.0.0.1/32 for loopback,
but no addresses within this block should ever appear on any network
anywhere [RFC1700, page 5].
The important part here is
loop back inside the host which basically means that you are visiting the site on your own computer, hence it is
not public. What you do when doing the validation is sending your
localhost IP to them and they can't really resolve that as it's local to you. Hence, if you want to validate it with the click of a button you would have to host your site first...