You didn't mention how much time had passed between the original paint and the new paint. Many paints will yellow to a degree over time, or at least change color in some way, due to a number of factors. In addition, a new coat of paint will take a while to settle to its final color as it takes a while for it to cure and quit offgassing.
The reason most builders use flat paint on the walls everywhere they can is because flat paint absorbs light, and that hides the imperfections in a drywall surface. In addition, flat paint is about a million times more forgiving for touchups.
Lastly, is it possible that you used a different texture of paint on your touchups? Paint comes in many finishes, like satin, flat, eggshell, semi gloss, and gloss, and others. Also, the texture on the drywall repairs is NOT going to match the texture that was originally shot in the house. Gloss paints only increase the difference.
These are just some possibilities for your problem. In the end, you may just need to paint the whole wall, (doing this corner to corner, or to an easy break line like a doorway or window) to hide the difference. This solution is common in your situation.
Lastly, (yes, I know I said this before,) go to the paint specialty store where you bought your paint, because I know you didn't buy it at the big box store like Jay said, and ask them for some ideas. They are painters by trade and are a wealth of information. In fact, even if you didn't buy your paint there, do this anyway, and let them try to earn your business.