Q:

How do you find Si[x] has infinitely many values

How do you show that there are infinitely many values of $x$ such that $\operatorname{Si}(x)=a$ (where a is the horizontal asymptote, $a>0$). Find the least two (i.e. the closest to 0) of these $x$ values.
My approach:
$\operatorname{Si}(x)$ is represented by Mathematica as SinIntegral[x]. I found the horizontal asymptotes through using limits. It gives results of $-\pi/2$ and $\pi/2$. We want to compute $\lim\limits_{x \to \infty} \operatorname{Si}(x)$ and $\lim\limits_{x \to -\infty} \operatorname{Si}(x)$ 
{Limit[SinIntegral[x], x -> -Infinity], 
Limit[SinIntegral[x], x -> Infinity]}

f[x_] := SinIntegral[x];
Plot[{f[x], Pi/2, -Pi/2}, {x, -50, 50}, PlotStyle -> {Blue, Red, Red},
PlotRange -> {{-20, 20}, {-2, 2}}]

A:

The second part of your question is not too hard to do in Mathematica. Let's use Plot[] with its MeshFunctions option to visualize the geometry:
Plot[SinIntegral[x], {x, 0, 10}, Mesh -> {{π/2}}, MeshFunctions -> {#2 &}, 
     MeshStyle -> Directive[AbsolutePointSize[6], Green], 
     Prolog -> {ColorData[97, 2], HalfLine[{0, π/2}, {1, 0}]}]

The restriction $a>0$ means that we only need to consider the positive part of the sine integral. (Since the sine integral is an odd function, the situation is similar in the negative half of the plane.)
From the plot, we see that there are two intersections between 0 and 6. Let's use this to bound the roots in Solve[]:
x /. Solve[SinIntegral[x] == π/2 && 0 < x < 6, x]
   {Root[{-π/2 + SinIntegral[#1] &, 1.92644766031737058202289442008}], 
    Root[{-π/2 + SinIntegral[#1] &, 4.89383595261660180162168467482}]}

and we obtain Root[] objects that localize the positions of the two roots. You can use N[] on this result if you want to see the numerical approximations themselves:
N[%]
   {1.92645, 4.89384}

