Carrier extraction is a key issue which limits the efficiency of perovskite solar cells. In this work, carrier extraction is improved by modifying the perovskite layers with a combination of ethylenediammonium diiodide post-treatment and glycine hydrochloride additive. Ethylenediammonium dications primarily affect the top surface of the perovskite films, while glycinium cations preferentially accumulate at the bottom region. The top and bottom interface modifications improve the crystallinity of the perovskite films and lower the density of electrical traps via surface passivation effects, resulting in long charge carrier lifetimes. The orientated aggregation of the ethylenediammonium and glycinium cations at the charge collection interfaces result in the formation of surface dipoles, which facilitate charge extraction. The performance of the treated solar cell devices also increases. The fill factor rose to 0.82, and the power conversion efficiency reaches 23.6% (23.1% certified). The open circuit voltage reaches 0.91 V, just 0.06 V below the Shockley–Queisser limit. The unencapsulated devices also show improved stability under AM 1.5G, retaining over 80% of the initial efficiency after 200 h continuous operation in inert atmosphere. Our strategy is also successfully applied to centimeter-scale devices, with efficiencies up to 21.0%.