why is there not a delivery code when we deliver the items personally ?
Because eBay's system doesn't provide an option for delivery in person. Only for delivery, or for collection in person, in which case a code is issued.
If you list an item with collection as an option you could theoretically ask the buyer to select the collection option, but deliver it instead. The buyer would then have a collection code. Payment would be through eBay checkout.
I wouldn't recommended this. It comes under the heading of "what could possibly go wrong?"
Things have become so complicated since the days when buyers could just collect items and pay in cash.