The temperature and pressure everywhere inside the Sun reach the critical point to start nuclear reactions - there is no reason for it to take such a long time to complete the reaction process.

Just like a nuclear bomb will complete all the reaction within $10^{-6}$seconds.

Why does most of the hydrogen of the Sun still not react even though it reaches the critical point, and why take stars billions of years to run out of fuel?

The bottleneck in Solar fusion is getting two hydrogen nuclei, i.e. two protons, to fuse together.

Protons collide all the time in the Sun's core, but there is no bound state of two protons because there aren't any neutrons to hold them together. Protons can only fuse if one of them undergoes beta plus decay to become a neutron at the moment of the collision. The neutron and the remaining proton fuse to form a deuterium nucleus, and this can react with another proton to form $^{3}\text{He}$. The beta plus decay is mediated by the weak force so it's  relatively slow process anyway, and the probability of the beta plus decay happening at just the right time is extremely low, which is why proton fusion is relatively slow in the Sun. It takes gazillions of proton-proton collisions to form a single deuterium nucleus.

Nuclear fusion weapons bombs fuse fast because they use a mixture of deuterium and tritium. They don't attempt to fuse $^{1}\text{H}$ so they don't have the bottleneck that the Sun has to deal with.
