Gases are very inefficient emitters of black body radiation so they do not have the colour expected for the temperatures of their flames.
The main mechanism for the emission of black body radiation are transient fluctuations in electron density due to thermal vibrations. However this mechanism is specific to solid or liquids (with a few more exotic special cases e.g. plasmas). Gases are simply not dense enough to produce the type of oscillations in electron density needed to produce black body radiation.
As you say in your question, If solid particles such as soot are present then the flame will heat these and they can produce black body radiation to give the characteristic yellow flames. However generation of soot requires specific conditions i.e. insufficient oxygen for complete combustion.
The reason flames such as from burning hydrogen produce any light is that the temperature rise causes an increase in the average velocity of the gas molecules. The velocity distribution is related to the gas temperature by the Maxwell-Boltzmann equation, and while the vast majority of gas molecules have energies around $kT$ a small proportion of them have enough energy for their collisions to cause electronic transitions. The excited atoms/molecules then decay by emission of a photon, and it's the light produced from these decays that we see as the colour of the flame.
You say that hydrogen flames are visible, but in fact a flame of hydrogen burning in air emtis almost no light in the visible region. There is an emission band in the near ultraviolet at around 300nm and strong emission in the infrared due to vibrational excitations of the water produced, but almost no visible light. The orange flame in the video you link of the bursting ballons is likely to be due to soot from burning rubber.