Very quickly....
code tag is <> , you used quote tag '' which makes reading your code harder
You use sssetfirst as a variable - it is better practice to not use a command name also as a variable even if it works.
for example:
(setq sssetfirst (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object))) ) ;; A variable
(sssetfirst nil (ssget "_WP" ob_lst_pt '((0 . "*TEXT,ATTDEF")(-4 . "<NOT") (62 . 4) (-4 . "NOT>")) )) ;; A command
The next suggestion I would make for now is to separate out your code a bit - all good running lines together but while you are creating something go to simple programming methods, it often makes errors or bad code jump out:
(sssetfirst nil (ssget "_WP" ob_lst_pt '((0 . "*TEXT,ATTDEF")(-4 . "<NOT") (62 . 4) (-4 . "NOT>")) ))
could be
(setq MySS (ssget "_WP" ob_lst_pt '((0 . "*TEXT,ATTDEF")(-4 . "<NOT") (62 . 4) (-4 . "NOT>")) ) )
(sssetfirst nil MySS)
Next thing would be to add comments to the code especially if you are asking how things work, we can read through the code quickly and see the intent of how the code works
Last thing, when asking for help - and we have no problem with that - give a clue what is not working as it should.
I think that if you add comments to the code it should be clear what to change to make the colours also red. Perhaps one of you comments will be 'adjust text to size 3.5'... and that might be where you want to change the colour also.