I think the more apt analogy would be that most people can follow a recipe, but not many people can invent new recipes from scratch (let alone achieve a specific food effect with said recipe).
Most people can modify a recipe, if the modification is natural or easily comprehended. For example, adding extra ingredients to flavour a food. But to invent one from scratch would be akin to creating a new type of food, or new way to cook, or a new way to combine cooking methods.
Most people can read in that they can translate text into sounds. However most people cannot read if require that they can accurately comprehend what the text says, just look at the results of reading comprehension tests, a majority scores horribly on them.
> Why is coding different?
You can get by just fine in life without accurately understanding text, but you can't get by just fine as a programmer without accurately understanding what code does.