Your roof looks fine to me. The holes you see won't leak. Only if you stand right under it and can see the sky.
If it were my roof I'd take the tiles off, the lats(horizontals that hold tiles) bang all nails sticking out in. Change rafters that need changing. Then we put a sheet/cloth on it. It stops wind from entering you hold this with contra-lats on the rafter beams. Then re lat the whole roof. If there is a small leak then it will run off the undersheat. Just retile and insulate the underside. Or you could do it from the top, but then you're changing a lot and might not have enough tiles.
Having said all this, I'm pretty sure Indian roofing techniques require differing standards, so best to speak to differing local roofercompanies. Make sure you come across as kind of knowledgeable about roofs or you will pay more money. That's why asking here about it is a good thing. You ll learn roof talk... Good luck!