I think because ходите implies repeated action, "what time do you go to work every day", rather than this specific time "when are you going to work today"?
It depends on the noun. Generally, when a place is more complicated than physical position, you should memorize the correct preposition. The general rules is that physical enclosed spaces and things that have defined boundaries take В ("in"), whereas abstract places and events, as well as open spaces take НА ("on, at").
But there are exceptions, so better memorize to be sure. I can give you a list of popular places if you wish :).
Thank you, a list (if you already have) would be helpful for me and other people reading this comments :), however encountering and learning one by one is generally more effective.