A reason other than cost (as many have already told you about) is the number of capital ships sanctioned by the government.
Indian navy can legally have a maximum of only 39 capital ships (15 DDG & 24 FFG), 2 carriers, 24 attack submarines.
I'll explain it in the context of two classes (1 DDG & 1FFG)
When Vizag was planned, India had 5 Rajput class, 3 Delhi class and 3 Kolkata class under construction. Total => 11 ships.
Total number of sanctioned ships (15) - existing ships (11) = 4.
Indian navy could only order 4 Vizag so the destroyer fleet doesn't exceed 15.
Project 17 Alpha (Nilgiri) started around 2010,
Indian navy frigate fleet at that time (in service & on order)
2 Nilgiri class (older one)
3 Godavari class
3 Brahmaputra class
6 Talwar class
3 Shivalik class
Total => 17
24 - 17 = 7 (the number of Nilgiri ordered)
Now the number doesn't include the ship that will be retired by the those new vessels enter service, as we have seen =>
Visakhapatnam was not supposed to act as a replacement to Rajput class, but the delay in planning & fund release has forced it to act as a replacement to those. NGD (expected order = 5) is supposed to be the actual replacement of Rajput class. The total number of destroyers will remain at 10 till NGD arrives.
In case of P17A (Nilgiri),
With the retirement of last 2 Nilgiri & first two Godavari, the ship number (in service & on order) came down to 20 resulting in the order of "4" new Talwar (2 hulls were already being bought, govt decided to get 2 more but made in India). When all Nilgiri & Talwar delivered, the number will stand at 23 frigates.
Why 23 & not 24 you may ask? Because the last of 3 Godavari will be retired in the coming years
The number of capital ships in 2027-
10 destroyers & 23 Frigates (33 total)
Comprising of the following-
3 Delhi class
10 Talwar class (including the subclasses)
3 Brahmaputra
3 Shivalik
3 Kolkata
4 Visakhapatnam
7 Nilgiri
The order value also depends upon the factors such as construction capacity, number of skilled workforce available etcetera.
The solution to this is increasing the number of sanctioned capital ships (like IN is trying to do with carriers from 2 to 3), is IN insisting the govt to increase the number of sanctioned capital ships? We can't say anything for sure in this regards. Another thing to be done is allowing the navy to add the number of ships that are to be retired in the order value (so the Vizag-Rajput doesn't happen again).
BTW, all the capital ships will be launched by 2023! (Maybe except the 4th Talwar) & there is no sign of NGD or NGF. Both (NGD/NGF) won't enter service before 2030, so also take the poor planning & bureaucratic hurdles into the account for our small force of capital ships.
+ Contract for NGD won't be signed before the retirement of last Rajput class.