Energy of an orbital in a single electron system depends solely on n, while energy of orbital in multi electron system depends on n and l, why is that? I understand that the screening effect is at work between two different shells, but how does it work in the same shell, is there any other reason?
Screening within the same shell is generally poor, which is why effective nuclear charge rises going across the Periodic Table: each added electron screens the others poorly from the added proton. And, yes, as you suspect, the quality of screening varies with l.
In addition to the screening effect, in many-electron atom you have electron-electron repulsion, as well as quantum exchange-correlation effects between electrons. Since these are interactions between electrons they depend on the distance between the electrons, which in turn depends not only on the distance between each electron and the nucleus (controlled by n) but also on the angular distribution of electrons around the nucleus (controlled by l).