Why do we not say Saint Moses?
There is no real specific answer to this question other than its simply the manner in which the traditional use of the word evolved. For whatever reason, in Western Christian tradition, Old Testament persons are not referred to as saints (other than the names of angels mentioned in the OT). The word was applied to early Christians who were considered extremely holy and just never evolved into being used for pre-Christian persons.
Clearly certain Old Testament figures are considered to be among the saints of heaven. Moses and Elijah, afterall, were seen at the transfiguration of Jesus. As the Catechism of the Catholic Church notes:
**61 **The patriarchs, prophets and certain other Old Testament figures have been and always will be honoured as saints in all the Church’s liturgical traditions.
Eastern traditions have used word titles reserved for saints and applied them to Old Testament figures, so it is not a universal practice of the Church to avoid calling them saints. Also the Roman Martyrology does include some Old Testament figures as well.
It is merely an accident of word evolution and application in certain parts of Christianity that Moses is not called St. Moses.
Further reading: Jimmy Akin’s Why Don’t We Call Moses and Elijah “Saint”?