The question is:

f[x_] := x^2 - 2 x + 3
Reduce[ForAll[x, 0 <= x <= m, 2 <= f[x] <= 3]]
The code above produces an incorrect result.
m <= 2
The accurate result is given below. How should the code be modified to match it?
1 <= m <= 2
The question is:

f[x_] := x^2 - 2 x + 3
Reduce[ForAll[x, 0 <= x <= m, 2 <= f[x] <= 3]]
The code above produces an incorrect result.
m <= 2
The accurate result is given below. How should the code be modified to match it?
1 <= m <= 2
I would do it this way:
Reduce[ForAll[x, 0 <= x <= m, 2 <= f[x] <= 3] &&
Exists[x, 0 <= x <= m, 2 == f[x]] &&
Exists[x, 0 <= x <= m, f[x] == 3]]
Good. Address the problem with universal and existential quantifiers, along with two additional existence constraints.
You could translate “minimum value” as MinValue[...] and “maximum value” as MaxValue[...]. Then the problem can be formulated as follows:
Reduce[{
MinValue[{x^2 - 2 x + 3, 0 <= x <= m}, x] == 2,
MaxValue[{x^2 - 2 x + 3, 0 <= x <= m}, x] == 3},
{m}, Reals]
I cannot see how 1 figures into this as a lower bound on m. Based on the wording of the question and the math. Only 2 seems relevant.
When 0<=m<1 the minimum value is larger than 2.
Which would appear to make the point m=1 irrelevant for purposes of the question posed
Perhaps you read “a minimum value” as meaning “a lower bound”?
Rereading the question, I will maintain that the given function, defined on [0,m], has satisfies 2<=f<=3 for m=2. I do not see where 2 separate values are requested for m, and I see no restriction that f take a min at an endpoint. My main point here is that the question asks to find the value m.
In my personal reading, the condition of the question is that 2<=f<=3 AND that 2 and 3 are attained somewhere. The final question “the number m is ___” is poorly worded, because it seems to ask for a single solution. Also, “a minimum value” annoys me, because the minimum value is unique, if it exists.
However, I am not a native English speaker.