i thought they stack indefinitely but gave low yields to balance it out
No, that'd make them too broken. As Eimi said, they last for 20 minutes or until you die. You can use different types and they work, for example: +10 Int Food, +10 Luk Food, +10 Dex Food, all work if you use them at once. But if you drink +9 Dex food and +10 Dex food, you will only get +10 Dex, not +19.