PostgreSQL 9.5.3 on x86_64-apple-darwin15.4.0, compiled by Apple LLVM version 7.3.0 (clang-703.0.31), 64-bit
The LATERAL JOIN has access to all previous columns in the join, but, it doesn't give an error when there are two columns of the same name. Instead, it silently selects the first column.
LEFT JOIN LATERAL ( SELECT "1".*, owner FROM banana "1" LEFT JOIN LATERAL ( SELECT "2".* FROM users "2" WHERE "1".owner_id = "2".id ) owner
IIUC the preference exhibited is an explicit column present on the left side of the join over the implicit relation named column within its own query.
Simpler self-contained example:
select *
from (values (1)) vals (v)
left join lateral (
select v
from (values (2)) v (val)
) src on (true)
Returns (1,1) instead of the desired (1,(2))
Beyond my pay grade for diagnostics. I don't recall this being documented and I haven't looked for it yet.
If I come up with a non-lateral involved example before this is answered I'll come back and post it.