KDTree is Returning Points Outside of Radius

I have an array of lat long coordinates and I am trying to use a KDTree and scipy's query_ball_point to return all data points within a 1 mile radius of a designated latitude and longitude.

The problem is that query_ball_point is returning points that are outside of the specified 1 mile radius. Here's my code:

import pandas as pd
import scipy as sp
import geocoder
import pysal as psl

search_list = df['coordinates'].tolist()
tree = psl.cg.KDTree(search_list, distance_metric='Arc', radius=psl.cg.RADIUS_EARTH_MILES)
latlong = (39.698840000000004, -104.975916)
index = tree.query_ball_point(latlong,r=1)

The result is an array of coordinates like the following:

|              coordinates              |
| (39.676973877551, -104.966231826172)  |
| (39.6777407534644, -104.988982458831) |
| ...                                   |

When I try to use the haversine formula to validate these results, I see the first coordinate is 1.6 miles way

from haversine import haversine
haversine((39.676973877551, -104.966231826172),
         (39.698840000000004, -104.975916),miles=True)