Citation: 1B_326/2021 E. 5

Demnach ist die Beschwerde teilweise gutzuheissen. Der angefochtene Entscheid ist aufzuheben. Die Sache geht zurück an das Obergericht zu neuem Entscheid im Sinne der Erwägungen. Das Gesuch um sofortige Haftentlassung ist abzuweisen. Bei diesem Verfahrensausgang obsiegt der Beschwerdeführer teilweise. Insoweit wird das Gesuch um unentgeltliche Rechtspflege und Verbeiständung mit seinem Rechtsvertreter gegenstandslos. Im Übrigen ist es zu bewilligen (vgl. Art. 64 BGG). Unter diesen Umständen sind für das bundesgerichtliche Verfahren keine Kosten zu erheben (Art. 64 Abs. 1 und Art. 66 Abs. 4 BGG). Der Kanton Zürich hat dem Beschwerdeführer eine reduzierte Parteientschädigung zu entrichten (vgl. Art. 68 BGG). Im Übrigen ist der Rechtsvertreter des Beschwerdeführers aus der Bundesgerichtskasse zu entschädigen (Art. 64 Abs. 2 BGG).