Потому, что раньше он в самом деле был в полдень. Но, постепенно, все сдвигалось ближе к концу дня. В "крестьянском" распорядке день начинался очень рано, зачастую раньше восхода (а с заходом уже ложились, света-то, кроме лучины, не было). "Заутреня" в церкви служилась еще ночью, до рассвета ("за-утреня", то есть то, что "перед утром"), а "обедня" - в 9-10 утра. Отсюда "обед" это то, что соответствует по времени церковной "обедне". Тут уже становится понятно, как "полдник" был "после обеда, но в полдень".