Ever try to edit a hosts file in Win7 on an administrator account, and then still had to reopen the file running AS administrator to accomplish it, making sure to keep your changes available to paste back in? It's nonsense.
No, its not. If you could edit the hosts file programmatically without jumping through this many hoops then you could force entries into the hosts file that redirected traffic to your bank to a different server.
Just the administrator account should be enough, but too many people use administrator accounts for day to day stuff just so they can install software. On linux you end up needing to put in the root password or use sudo for tons of stuff, windows have tried to avoid this but some things like editing the hosts file are such dangerous edge cases compared to what most users do that they need to be protected differently.
To be honest, there is a strong argument that you should NEVER edit your hosts file on a windows machine (ok, I admit I do not always follow this advice). If you want to do crap like that maybe you should run a local DNS server just so you know what you are doing, especially if you run a linux server on your network since DNSMasq is so easy to use. It might still involve editing a hosts file, but at least it is a hosts file on a separate server and becomes the central point for all local DNS changes you make. Using DNSmasq also lets you test anything you are testing on a number of devices on your private network without having to keep track of hosts file entries on each device.
Seriously, DNSMasq is a much better shout for most stuff like this if you need to do it regularly.