The vowel qamatz comes in two different flavors: qamatz qatan and qamatz gadol. Qamatz qatan is pronounced like "o" in many Hebrew pronunciations. This is the type of qamatz in the word "כל".
Which type of qamatz a word uses depends on various grammatical rules. In fact, the word "כל" is not even always spelled with a qamatz. Depending on how the sentence is stressed, it could be spelled with a holam.
Yehoshua 1:16 is an interesting example that contains the word כל twice, spelled each way once.
וַֽיַּעֲנ֔וּ אֶת־יְהוֹשֻׁ֖עַ לֵאמֹ֑ר כֹּ֤ל אֲשֶׁר־צִוִּיתָ֨נוּ֙ נַֽעֲשֶׂ֔ה וְאֶֽל־כָּל־אֲשֶׁ֥ר תִּשְׁלָחֵ֖נוּ נֵלֵֽךְ
Unfortunately, the trope marks seem to appear just as squares here, but the first instance of the word כל has a mahpakh trope under it which indicates that the word is stressed as its own word. Since it is a stressed, closed syllable, the vowel is a tenuah gedola: in this case a holam. The second instance of כל does not have a trope associated with it; the word is simply attached to the following word אשר. Here כל is an unstressed closed syllable, so it takes a tenuah qetana, here a qamatz qatan.