Why HTTP is called a stateless protocol?

Because it does not keep state. When you navigate to a webpage, you send a request to the web server, from an http perspective, the web sever sends the request to you, and you are disconnected. It has not idea what page you requested prior to this.
Often we need to keep state in web sessions, and there are various tools for this (think cookies). But those things are not part of the http protocol, and the http server is not really aware of the history of your connection.

By contrast, a telnet session is state-full. When you connect to a telnet server you give it credentials, it knows who you are, and can allow you appropriate access throughout your session based off that.