IMO I don’t think there is a discrepancy in your companies policy.
To justify lunch as an expense it would have to be necessary due to being located away from your normal workplace to pay in excess of what is considered 'normal'. It is perfectly reasonable for them to assume that if a temporary workplace has a canteen then you would use it and therefore the amount you would pay is a ‘normal’ amount*, if you chose not to then that is entirely your choice and not a result of the travel. If the temporary workplace does not have a canteen then you have no choice but to buy lunch elsewhere which is likely to be more expensive, and in these circumstances they have agreed to reimburse you.
The fact that you make a sandwich on a normal day is neither here nor there; you still have that option available.
* I've had this discussion during a HMRC audit when contracting at a company that had a works canteen. I didn't use it and bought sandwiches which I claimed for and apparently wasn't entitled to.