This is probably not a cluster analysis problem.
The basic distinction is whether your are grouping all points by some criteria of connectedness (this not clustering), or does the algorithms determine the criteria for the clusters dynamically from the data themselves (this is clustering)?
The defining issue with typical cluster analysis is that the cluster definitions are based on the data only. That is, the algorithms create the clusters and the definitions for those clusters within the same process. Or, put another way, when you begin clustering, you give the algorithm the data, but you don't give it a threshold.
Since you have thresholds already, this isn't what's typically referred to as clustering. Even if you have multiple thresholds to choose between, just group the data as your thresholds will dictate and compare the groupings.
The caveat here is exactly what you mean by "threshold" and how you want to apply it. If you want to find all points that establish a chain of connected points less than some threshold, it's not clustering. If, instead, you want the threshold to define a non-linear metric between points, then the normal clustering algorithms would apply (though with a very unusual metric -- so this probably isn't the approach you want).
And the other caveat is that by "cluster" people can mean different things, and I think I'm using the usual data analysis definition, though people use the word in other ways too, of course. See, for example, the algorithms in scipy.cluster.
As for what approach to take, so far you have not described enough details to answer that. For example, do you want to replace closest pairs with their median?, or follow a connected chains of neighbors?, etc. Maybe something like a KDTree would be useful to you.