Just to clarify, on Windows are you running SPA 9? If so then FIRSTNAME2 and LASTNAME2 will not work for text replacement. However, FIRSTNAME2 and LASTNAME2 will work on SPA 7. So if you are saying that FIRSTNAME2 and LASTNAME2 worked then it could not be with SPA 9 and must be with an older SPA version. SPA 9 requires the layer names to be in the designated list of layer names.
On your Mac, did you try SPA 9 with the layer names set to FIRSTNAME and LASTNAME? Or are you still trying with FIRSTNAME2 and LASTNAME2? Please clarify on that.