A flame is the result of flammable gases being heated, flowing up, and reacting with oxygen where the gases encounter the atmosphere. In a candle flame, the reaction generates enough heat to drive further gas generation and convection; with a gas stove, the burner keeps providing more fuel; either way you get a steady state, which is the flame.
Coal does have a small flame, as anyone old enough to have stoked a coal furnace (in their pajamas on a January morning) can testify.
Coke, or charcoal, generally has no visible flame, because there are no flammable gases generated from pure carbon. (Under condidtions of poor ventilation, there will be carbon monoxide generated, but CO doesn't combust readily enough to support a flame ... that's why burning charcoal indoors is a recipe for disaster.)