You seem really short. How tall are your parents, are they very short as well?
I would say you are getting decent amounts of protein and calcium but try and get more as it will help with your growth. Have two eggs a day and drink another glass of milk as well. In addition make sure you eat a lot of chicken and fish, and of course eat vegetables. You seem to only eat white meats. I don't know about red meat since I don't eat it either but if you do eat it it is really good as well I think.
Doing physical activity on an empty stomach is a BAD idea. Waking up and then going an hour on an empty stomach even without physical activity is a bad idea. I used to do not eat to any pattern, eat very fast and let myself stay hungry and on an empty stomach in the morning and I ended up getting some pretty severe reflux that lasted over a year. You absolutely don't want that.
I would say have the banana and the egg in the morning when you wake up as well as the water. Maybe milk instead of water, always great to start the day. Keep hydrated all day. Take fluids while playing sport, before, during and after. For three hours exercise you will need at least two glasses of water per hour, probably more since it must be really hot and humid in Dhaka. Take a bottle or two, maybe three.
Your fitness is fine, three hours is more than enough. Try and keep that up for at least the next ten years and you'll be really fit. I used to exercise that much, possibly more but when I stopped it screwed up my metabolism and I started putting on weight now I've got to control my diet to stop putting on weight. So don't do more than 3 hours.
Oh and I hope you are brushing your teeth before you go to bed as well. The sugar in the Horlicks and the fruits will be really bad for your teeth, perhaps destroying your enamel as well depending on whether you eat acidic fruits.
----------
Btw you are 14, right in the prime of your growing age, don't be afraid to really eat a lot (good foods not junk), it can really help.