There is a difference between having a color and being a color.
To be a color is to be entirely, or predominantly, of that color (e.g. a blue sky). If more than one color predominates, then an object can be multiple colors (e.g. a red and white striped shirt). In contrast, to have a color is less exclusive; it suggests that other colors may be present, and those other colors may even be more prominent than the one you are talking about (e.g. the flags of Taiwan, Saudia Arabia, and Slovenia all have white on them).
To offer some real-life examples using Wikimedia Commons images, if you asked the average person what color these tulips are, the response will most likely be yellow, or some variety of yellow:
The flower below is trickier.
If pressed to name a single color, most people would also say this tulip is yellow, since the overwhelming proportion of the visible parts of the flowers (i.e. the petals) is yellow. From a distance, it will appear entirely yellow. But many will at the same time object that the flower also has red in it— it is yellow with red stripes or is yellow, but has red stripes.
In this third case, many may refuse from the outset to identify the flower as being any one color:
They will say it is purple, white, and yellow, or that it is white and purple and has yellow (on one petal). This flower has yellow, but it cannot be said that it is yellow.
In practice, to say flowers can be many colors and can have many colors is nearly equivalent. But one could draw a distinction between the two. To say flowers can be many colors is to say that flowers may reflect a range of predominant colors. In contrast, to say flowers can have many colors is to say that many colors can be found among the flowers, even if they all share the same predominant color.
Thus, if flowers can be yellow, you can expect flowers looking like the first or second examples. If flowers can have yellow, you can expect flowers looking like any of the three examples.