In Phase-3 why we need to setup hub-to-hub GRE tunnel? What purpose does it serves?
This is mostly for logical separation of features, routes and "switching".
hub-to-hub tunnel is where you would receive a bigger summary route and where you will forward unknown NHRP requests.
Having two separate tunnels also helps scale better in terms routing protocol broadcasts/mcasts, but one can argue that BGP would not be affected ;-)
I would not recommend having one tunnel interface although you could achieve a functioning (but maybe less scalabale) setup.
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: