Why did Jesus call John the Elijah?
Jesus identified John as the Elijah because the Old Testament promised Elijah would come before the kingdom. If Israel had received the offered King and kingdom then, John was the prophesied Elijah. Because Israel did not accept, Elijah must still come before the future kingdom.
Les explains that Jesus was speaking to the nation of Israel and offering Himself as their King and the kingdom. In that setting, He said that if Israel would receive the kingdom then, John the Baptist was the Elijah who had been prophesied to come. The Old Testament said that before the return of Christ, or the setting up of the kingdom, Elijah had to come. Jesus was therefore saying that if Israel accepted the kingdom at that point, John was the prophesied Elijah. But since Israel did not accept the kingdom, Elijah still has to come. Les also notes that this is hard to comprehend, and he connects this to Revelation 11, feeling that one of the two witnesses will quite likely be the Old Testament Elijah brought back on the scene.