The first reason could be that you are overcooking/over steaming the idlis. The time in a regular idli steamer is about 10-12 minutes with a little resting time after cooking. The electric stove/cooker might take couple of minutes longer, but should be done within 15 minutes. When your cooking time reaches the 10 minute mark, open the lid and do the toothpick test. If the toothpick comes out clean (or looks just about clean), you know your idlis are about done.
Other possible reasons
- Lack of proper fermentation
- Improper Rice:Urad dal ratio
- Not enough water, too thick a batter.