"She eats too much" = She eats more than she needs, or more than she should. It's not good for her health.
TOO MUCH: More than needed. Excessive amounts.
"She eats so much" = She eats A LOT, maybe more than this person thinks she should eat. Maybe she is really hungry.
SO MUCH: More than average. Maybe a lot more than average.