Why does my child understand English but not speak it?
Because understanding and speaking are genuinely different skills, and almost every child's understanding runs well ahead of their speaking. This is true of adults learning a language too: you can follow a film long before you can hold the conversation. A child who follows instructions, laughs at the right moment and reads comfortably has the language in there. What is missing is the route out, and that route is built by speaking, not by more input.
There is a second thing going on, and it is the one most parents underestimate. Speaking is the only language skill performed in public, in real time, with no chance to correct yourself before anyone hears. Reading is private. Listening is private. Writing can be redone. Speaking is a live performance in front of a class, and for a child who has been corrected in front of that class even once, silence is a completely rational strategy.
So the useful question is not "how do I improve their English" - their English may already be fine. It is "which of the three things below is actually happening", because the fixes point in different directions.