Why does green ferrous sulfate solution change color to yellow upon addition of hydrochloric acid?
Dry ferrous sulfate heptahydrate is green(ish) and is expected to make a green(ish) aqueous solution.

Anhydrous ferrous chloride is described as green to yellow, and the dehydrate and tetra hydrate are green to blue-green (CRC Handbook).


Now color is broad and continuous (see the visible spectrum),

not digital, like how many fingers am I holding up. This set of curves relating ferrous to ferric comes from https://www.sciencedirect.com/science/article/abs/pii/S0143720816309263 There's a continuity, not a change that can be described as this color to that color.

There is also an effect called dichromatism (not dichroism) in which the perceived color of a material that has some depth will change depending on the depth/thickness or concentration observed (https://en.wikipedia.org/wiki/Dichromatism).
In addition, ferrous ion picks up oxygen easily and becomes ferric (ferric chloride is deep red in concentrated solution (~20% or more), but quite definitely yellow in more dilute solutions (~5%)). The reaction 2Fe$^2$$^+$ + 0.5 O$_2$ + 2H$^+$ --&gt; 2Fe$^3$$^+$ + H$_2$O is favored with lower pH. So your supposition that the (greenish) ferrous ion in solution is picking up oxygen and producing some yellowish ferric ion is almost certainly true. As ferric is formed green will diminish and yellow will increase; the spectral curve will just slide over from the green to the yellow.
However, because there is no quantification mentioned, everything is ishy. Greenish, yellowish, pHish, and yellow and green are both in the green and in the yellow solutions. You also don't mention specifically what other acids you tried.
To explain this to a class, you need some numbers. What you could do is get the visible absorption curve of fresh ferrous sulfate of known concentration (do it at two concentrations, at least), and then get the spectra after addition of (at least) two levels of known concentration HCl. Versus time, because the oxidation will probably take a few minutes in order to get enough exposure to air/oxygen. That will suggest how much of the color change is due to oxidation.
But you should also take the known concentrations of ferrous sulfate and add sodium chloride at the same molar concentrations as the HCl, to see how much color difference occurs because of chloride complexation while keeping the pH essentially constant. These solutions will yellow in time also, but slower than the acidified solutions.
These are some of the variables in your experiment, but how to express this is a short time will be up to you.