Because you are using CheckSpelling for individual words, it will not flag repeated words, only check whether the word is in a dictionary. You have to write the logic yourself.
Notes:
Your code flags cells with numeric values as spelling errors.
It will cause a runtime error if you spellcheck any cells having an error (like #VALUE).
It does not recognize P/S or p*s as words because \w+ matches consecutive word characters and ? and * are not word characters. It will highlight only part of such a word red.
Also I recommend you explicitly declare all variables as a data type.
Bookmarks