Your information is not correct. And your way of calculating these values isn’t either.
You said +2 STR on a Human Fighter means 4% P.Atk, but this is wrong. Adding 2 STR points to my human fighter char took my P.Atk. from 1502 to 1552. The difference is 50. Calculated to a base value of 1502 that’s an increase of about 3.32%. You then get the 12% on top of the 1552, which is 1739 (ceiling).
So it works like this [ [1502 + 3.32%] + 12% ]. The 12% also affect the STR bonus you get. THIS is stacking.