Sachverhalt: A. Am 12. Dezember 2011 verurteilte das Obergericht des Kantons Zürich A._ wegen verschiedener Straftaten, worunter sexueller Handlungen mit einem Kind, mehrfacher Pornographie und Betäubungsmitteldelikten, im Wesentlichen zu einer Freiheitsstrafe von vier Jahren als Gesamtstrafe. Überdies ordnete es eine stationäre therapeutische Massnahme zwecks Behandlung psychischer Störungen im Sinne von Art. 59 Abs. 2 StGB an und schob zu diesem Zweck den Vollzug der Freiheitsstrafe auf. Am 10. September 2018 hob das Amt für Justizvollzug (heute: Justizvollzug und Wiedereingliederung; nachfolgend: Justizvollzug) die stationäre Massnahme wegen Aussichtslosigkeit auf und beantragte beim Bezirksgericht Zürich die Prüfung einer Verwahrung nach Art. 62c Abs. 4 StGB wegen der ernsthaften Erwartung weiterer Straftaten. Mit Blick auf den Ablauf der stationären Massnahme ordnete das Zwangsmassnahmengericht des Bezirks Zürich am 11. Dezember 2018 auf Antrag des Justizvollzugs an, A._ bis zum 11. Juni 2019 in Sicherheitshaft zu versetzen. Mit weiterer Verfügung vom 21. Juni 2019 wurde eine solche erneut angeordnet und später bis zum erstinstanzlichen Entscheid im Nachverfahren verlängert. Am 18. Dezember 2019 beschloss das Bezirksgericht die Verwahrung von A._ und verfügte mit separatem Entscheid die Fortdauer der Sicherheitshaft bis zum Antritt der Massnahme, längstens aber bis zum 18. Juni 2020. Mit Beschluss vom 18. Juni 2020 verlängerte das Bezirksgericht die Sicherheitshaft bis zum Massnahmeantritt, längstens bis zum 18. Dezember 2020. B. Dagegen erhob A._ Beschwerde beim Obergericht des Kantons Zürich mit den Rechtsbegehren, den Beschluss über die Verlängerung der Sicherheitshaft aufzuheben, festzustellen, dass die bisherige Sicherheitshaft ab Aufhebung der stationären Massnahme rechtswidrig sei, und ihn für die rechtswidrige Haft angemessen zu entschädigen. Zur Begründung führte er im Wesentlichen aus, der Haft fehle es in Anwendung einer entsprechenden Rechtsprechung des Europäischen Gerichtshofes für Menschenrechte an einer genügenden gesetzlichen Grundlage. Am 9. Juli 2020 wies das Obergericht die Beschwerde ab, soweit es darauf eintrat. Es berief sich zum Wesentlichen auf die Rechtsprechung des Bundesgerichts, wonach sich die Haft in ausreichendem Masse auf eine langjährige und konstante Rechtspraxis stützen könne, sowie auf eine ausdrückliche Grundlage im kantonalen Straf- und Justizvollzugsgesetz. C. Mit Beschwerde in Strafsachen vom 12. August 2020 beantragt A._, den Beschluss des Obergerichts aufzuheben, festzustellen, dass die bisherige Sicherheitshaft ab Aufhebung der stationären Massnahme rechtswidrig sei, und ihn für die rechtswidrige Haft angemessen zu entschädigen. In prozessualer Hinsicht wird um Erteilung der unentgeltlichen Rechtspflege und Verbeiständung ersucht. Der Justizvollzug schliesst ohne weitere Ausführungen auf Abweisung der Beschwerde. Die Staatsanwaltschaft und das Obergericht verzichteten auf eine Stellungnahme.