Why won't text Boolean correctly after the second Boolean operation?
You need to 'Remove doubles' for you text objects (merge vertices on top of each other):


Enter edit mode for the converted text object.
Select everything.
W> Remove Doubles.
Repeat for each text object.


By default, when text objects are converted to a mesh they are left as separate parts, like the front of the text and  the sides. This creates a messy boolean operation (or more messy  than usual). Here, I applied the first boolean and you can see that it creates disconnected faces (the selected ones) meaning the second boolean doesn't work as expected:



Cleaning the text objects with 'Remove Doubles' will create a cleaner mesh, ready for the second boolean.