Разница между выражениями have и take при описании приёма пищи заключается в контексте использования. 14
Have означает «есть», «принимать пищу». 15 Например: «have breakfast» — «завтракать», «have lunch» — «обедать». 5
Take обычно связан с приёмом пищи в рамках какого-то периода, например, во время работы или учёбы. 14 Например: «take lunch» — «взять обед», «take a break» — «сделать перерыв». 1
Таким образом, have больше подходит для описания процесса приёма пищи, а take — для обозначения конкретного действия, связанного с приёмом пищи в определённое время.