I am guessing what you want to simulate is "the ball is moving in a particular direction. If it runs into a barrier, it will slide along the barrier. It will never move against the direction it is moving".
To solve this problem, what I would do is first pretend my two lines I am colliding with are infinitely long. Each line is described as some point \$p\$, a unit vector \$u\$, and a range of multiples of that unit vector along the line \$\lambda\$: \$p + \lambda u\$.
The ball's movement would be described as a parameter of \$t\$. Lacking any obstruction, the center of the ball would be at position \$x_0 + t v\$ after \$t\$ time.
Then I solve for "for what \$(t, \lambda)\$-values would my ball cross those infinite lines".
Solving for "I'm (almost) parallel to the line" is one sub-problem. For non-parallel trajectories we can find when the center crosses the line, and then work out by "backtracking" when the circle did.
We can project our ball's velocity along the line with a simple dot product: \$v . u\$, and its normal velocity via the cross product \$v x u\$. Divide the magnitude of the cross product by the ball's radius to say how long ago (in \$t\$ units) that the ball first touched the line. To find the difference between the center collision and the first time the ball crossed it in \$\lambda\$, multiply the delta-\$t\$ calculated by \$v . u\$.
You now have an interval along the infinite line where your ball is within its radius of the line, as well as a time interval when this happens. You actually want a ball-line segment intersection, but this is a good start.
If you aren't worried about hitting the ends of the line segments (and if you "know" you are going into a corner like that, this holds), you can skip the line segment problem.
If you are worried, you have to do ball-ball intersections on the end of the line segments, and prune your \$t\$ and \$lambda\$ values based on that.
Usually you only care about when you first hit the line, as the universe changes when you do. So take the minimum positive t in that interval. (if it is 0, it means either you are touching the line or are overlapping with it).
Starting at that time point \$t\$ you will now be restricted to sliding along the line you are touching. Be careful! If you want to model "being shoved along a certain path", simply recursively solving with this new direction will lead to strange bounces. You may, on the other hand, want this -- maybe you want running into a "circular turn-around" could cause your ball to spin around and fly in the other direction.
Assuming you don't want this, you need to treat this as a constraint on your velocity, not a new velocity. This constrained vector (by the line) follows the line (until it longer collides with it). And you compare against all other lines in the universe.
Use the same algorithm to find out what other lines you run into, but when working out your end velocity apply each line as a constraint, not a full redirection; don't take initial velocity, deflect by first constraint, then deflect the result by the 2nd (and 3rd etc) unless you are playing billiards.
Instead you have a velocity vector and a bunch of "you can't go in this direction" constraints.
Given the angle of the balls movement, each constraint will either be on the left or the right (ie, it is hitting the ball on its left side, or its right side, as it moves along). If you have a constraint on both sides your ball stops. If you don't, you only care about the greatest constraint active, and you apply it.
This lets you hit a line on your right, then a line that pushes you even further on the right. Only when your left side hits a line do you stop.
To deterimine left vs right, look at the time of collision; the center of the ball and the point on the line the ball's radius touches. Those will form a line of length ball radius that is perpendicular to the vector of travel of the ball, and avoids a numerical rounding error problem (your ball is touching 2 lines almost completely parallel on one side. A floating point error could put them on opposite sides if you aren't careful.)