Is there an optimization algorithm that could help match the maximum number clients to servers with constraints?
The problem is NP-hard.  Consider the following special case: there is only one server, and its radius is infinite (or very large). Then your problem becomes the problem of finding an independent set in a planar graph.  That problem is known to be NP-hard.  Since a special case of your problem is NP-hard, then your problem must be at least as hard in the general case.
There are many ways to deal with NP-hard problems.  Probably one reasonable approach is to formulate your problem as integer linear programming, and then solve with an off-the-shelf ILP solver.  Another approach is to formulate it as an instance of SAT (with a pseudoboolean constraint/cardinality constraint for counting the number of clients that are serviced), and solve with an off-the-shelf SAT solver, like Z3 (which has good support for pseudoboolean constraints).