It is likely that the small indexing cog wheel which fits in the number drum is either broken or has some foreign material jamming it.
From memory these are small blue plastic cog wheels and often break a tooth off. This cog engages and locks and turns the next drum so that it changes when it gets to 9. You can use an old donor speedo of the same type for parts.
You can carefully take the whole drum apart to clean and inspect the components. See the diagram I made when I did one of mine. There are a few variations of the odometer drum but essentially are the same.
