If you evaluate or print the following string you get what you want:
"\!\(\*\nStyleBox[\"text\"\*StyleBox[\"text\",\nFontColorFontColor->RGBColor[1, 0, 0]]\) \!\(\*\nStyleBox[\"text\"\*StyleBox[\"text\",\nFontColorFontColor->RGBColor[0, 0, 1]]\)"
This is a single string and it contains color information for different substrings.
Do[Print@"\!\(\*\nStyleBox[\"text\"\*StyleBox[\"text\",\nFontColorFontColor->RGBColor[1, 0, 0]]\) \!\(\*\nStyleBox[\"text\"\*StyleBox[\"text\",\nFontColorFontColor->RGBColor[0, 0, 1]]\)", {5}]