What's so RESTful about ASP.NET MVC?
There's nothing preventing you from having routes like resource/id
with HTTP methods GET/PUT/POST/DELETE in ASP.NET MVC. It's not the default routes setup but you can do it.
EDIT (MLaritz - Adding Darin's comment): ASP.NET MVC is a server side technology allowing you to expose RESTful urls. The way they are consumed doesn't matter. You asked about why ASP.NET MVC is considered RESTFul technology and the answer is because you can easily expose RESTFul urls for consumption, it's as simple as that.
I think alot of the buzz had more to do with how un-RESTful the .NET web stack was before MVC and how much easier MVC made it to build RESTful apps on the .NET platform than any particularly RESTful capabilities ASP.NET MVC has.
There is no URI style that makes an API restful.
You asked, "Why do we consider ASP.NET MVC as a RESTful framework especially relating its URL routing to it? "
Because REST is misunderstood to be about URLs instead of about resources, a standard interface, and hypermedia.