Day 1 : Ok
Day 2: Ok
Day 3 : Ok
Day 4 : Not Ok.. For this day you should just visit forts and Eagle Nest and try to have some rest in Hunza.. Don't go back to Gilgit on this day, stay in Hunza for night
Day 5: Attabad Lake and Khunjerab can be easily visited on same day.. Just start your journey early in the morning and u can enjoy at both places on same day.. You are wasting your time by visiting one place on one day and second place on other day.. Again I would recommend you to stay at Hunza because Gilgit is hot city while Hunza will be cold..
Day 6: It will take around 8-9 hours to reach Fairy Meadows from Hunza.. Hunza to Raikot Bridge is around 3-4 hours.. Then you will have to hire jeep from Raikot Bridge to reach Tatoo Village (1.5 hours).. Then u have to trek for 3 hours to reach Fairy Meadows..
Astore is completely different route i guess.. (I haven't visited Astore & Rama Lake but I am sure u can't visit all these in one day, U will need atleast 2 more days for that).. So better stay at Fairy Meadows for one extra day..
2) For Fairy Meadows u will have to hire jeep, while other places mentioned in my comment can be visited by simple vehicle..
3) Hotels depend upon your budget..
4) U can consider Nanga Parbat Base camp on day 7.. From Fairy Meadows it is 4 hours trek.. But these 4 hours will not regret u once u reach there.. That will be amazing experience for u..