Currently, the "EndOfLife" columns are of type Number instead of Single Line of Text. I adjusted the queries to reflect this and the queries now return correct results.
However, this in itself still ...
Most likely, you just need to specify RowLimit (CAMLRowLimit) parameter for your query:
Otherwise, the CAML query is executed on a default view of your list.
How many items in the list view?
Make sure the number of items doesn’t exceed list view threshold 5000. If so, try to index the column in list.
Reference: CAML Query - Going around the 5000 List Item Threshold
If you need to get a single field value from all items, you can use this method. It avoids the threshold issue by using pagination.
public static IEnumerable<SPListItem> GetAllListItems(SPList list, SPQuery externalQuery, bool viewFieldsOnly, params string viewFields)
List<SPListItem> listItems = new List<SPListItem>();