Virus cannot survive on surface after certain time period, but why and how?
Many important viruses are coated with a lipid envelope and rely on this to enter the host cell. This envelope is fragile - it's similar to a soap bubble - and it can be disrupted in many ways. Lipids will oxidize in air over time and this will degrade their ability to maintain an envelope. Surfactants such as soap or solvents such as alcohol will disrupt an envelope quickly. Even if the genome inside survives, if the envelope is disrupted the virus won't be able to infect cells. 
The exact mechanism of inactivation likely varies a lot from virus to virus, and hasn't been studied extensively. 
This paper found that Hepatitis C virus RNA survived alcohol treatment, but lost infectivity, presumably due to envelope disruption. In contrast, heat treatment (80°C) destroyed both the envelope and the RNA.
Another paper found enveloped viruses survived being dried out a shorter time than non-enveloped viruses. (5 days vs. weeks)

Speaking generally, the environment outside a body is hostile! If you were taken out of your home and dropped somewhere in the wilderness, there's many different ways you could die, and it's more remarkable if you survive. A similar situation arises for viruses.