There are numerous contradictions between the various gospels that made it into the NT. Some are minor, others are not. For example, consider the differences in the stories of Jesus' resurrection - and which Gospels record it.
None of the writers was an eyewitness. None of the stories is intended to be a literal record nor were they verbatim stenographic records of what Jesus (Yeshua) actually said. They are religious stories that are structured within a liturgical environment.
Regarding "John" and the "Last Supper Meal": The first person who wrote the story, and who did not receive it from any human, was Paul. The later writers copied his story, some using his text almost word for word.
The writers of the John Gospel were followers of Paul; it was written at the end of the first century. In their account of "eat my body, drink my blood", they were ridiculing people who took Jesus and his words literally; they no longer walked with him because they found his words unacceptable. This is not the only time that the John writers ridiculed people who took Jesus' words literally - Nicodemus and the woman at the well are another two parables the writers used to do this.
These writers were mystics; the gospels are not literal histories. Only from John's gospel, for example, can one deduce that Jesus preached for three years; from the other gospels, his preaching might have lasted only a few months.
One key to understanding the difference between the Synoptic Gospels and John's is to recognise that the former were written during a period of heightened apocalypticism (it's the end, and it's coming right now) whereas by the time John's gospel was written that ardour had cooled and more theological questions were started to be addressed. The writers of John's gospel were mystics, not literalists.