Your first two constraints are equivalent, but never mind. It seems to me that FunctionRange gives a very wrong upper bound for l1+l2, as I can see from the plot:
constr1 = l1 Tan@a + l2 == Sin@a/Cos[a]^2 + 1/Sin@a;
constr2 = l1 + l2/Tan@a == 1/(Cos@a (Sin@a)^2);
ContourPlot3D[{constr1, l1 + l2 == 2.6, l1 + l2 == 15.6},
{a, 0, Pi/2}, {l1, 0, 20}, {l2, 0, 20},
AxesLabel -> Automatic]
When a and l1 are small, the value of l1+l2 can become much larger than what FunctionRange claims (with warning). For example, let us plot l1+l2 along the plane a==l1:
constr1 = l1 Tan@a + l2 == Sin@a/Cos[a]^2 + 1/Sin@a;
constr1 /. a -> l1
Solve[%, l2]
l1 + l2 /. %[[1]]
Plot[%, {l1, 0, Pi/2}, AxesLabel -> {l1 == a, l1 + l2},
PlotRange -> {0, 100}]