Habár a probléma leírása kissé zavaros, a kommentet ahova tetted ott még csak nem is nyújt semmit (nálam), gondolom a colspan véletlen maradt benn. Ahol igazán nyújtás van az első oszlop.
A bootstrap 100% széles táblákat használ, tehát az oszlopokat szétnyújtja arra a szélességre.
Ez alap CSS viselkedés egyébként, táblázatok ilyenek, bootstrap itt nem csinál semmit (5-ös verziót csekkoltam most le).
A cellákban lévő tartalommal arányosan méretezi az oszlopokat. Tehát sok hely azért van mellette a sok tartalom mellett is, mert az üres helyet is ugyanolyan arányban osztja el.
Alapvetően két lehetőséged van én úgy látom (ha tényleg táblázat kell).
1. Kiválasztod mely oszlopok töltsék ki az extra teret és melyik nem, de valamelyiket meg kell hagynod, hogy kitöltse.
2. Megadsz vagy kissebb szélességet a táblázatnak, hogy ne legyen annyi üres hely, vagy auto-ra rakod, hogy a tartalom alapján méretezze magát.
Itt egy jsfiddle, ahova mindkét variánst beraktam, elsőben az utolsó oszlop tötli ki csak a teret (piros), másodikban meg auto a tábla szélessége.
Az elsőnél 0-ás szélességet adtam meg, ami itt nem probléma, mert a tartalom úgyis meghatározza a minimumot ebben az egyszerű esetben.
A class="col"-t kitöröltem, mert az itt elméletileg nem csinál semmit (az flexbox-hoz való bootstrap 5-ben), ha BS doksiból nézted, akkor ott scope="col" van, ami más, nincs is köze az oszlopok stílusához. MDN leírás