Try this:
for f in {0..9}; do rm *.old$f; done
What this is saying, is this: "For every iteration from 0-9..." (that's the part in braces {0..9}) "... remove any file ending with .old0, old1, old2... etc, up to .old9, and when finished, exit"
The part for f in {0..9}
is specifying what the variable "f", subsequently referenced as "$f", will be on the next pass, and the range {0..9} constrains it to that range.
Non-destructive test:
Make a test directory "mkdir test_del" or w/e and enter it, and then do this:
for f in {0..9}; do touch TEST_FILE.old$f; done
which generates empty test files with the same extensions as you're working with (Screenshot attached)
Now, staying in this test directory, you may run my command and ensure it works as expected, without risking data loss to the ACTUAL files.