The following code was used to test:
fontRenderer.drawStringWithShadow(str, x - fontRenderer.getStringWidth(str) , y, color);
where string is the text on the left side of the screen, x is the width of the screen - 2, y is 2 and color is 0xFFFFFF.
The gui scale is set to normal; any pixel units bellow should be divided by 2 for the actual (code) values.
The first line is normal text, used as a reference.
The second line is a bold modifier, followed by 15 color modifiers. The expected result should be something similar to the third line, but the color modifier seems to override the bold modifier.
The third line contains 15 color modifiers followed by a bold modifier. The bold modifier is applied as expected, but one can see a 2 pixel difference compared to the first line.
The fourth line is simply 15 color modifiers is what is expected.
The fifth and final line is 15 bold modifiers. One can clearly see the difference with the first line (30 pixels).
Subtracting the amount of bold modifiers solves the issue with lines 3 and 5.
Possibly related to