The model you require is shown below:
Click to enlarge
The end result is the middle segment selected:
The model works by adding XY to GPS points, splits line at GPS points and then uses add geometry tool to add start and end coordinates. For both of these datasets the XY values are converted to a string and concatenated into a single text, eg. "100,200". The split line has a startxy and endxy. The GPS data is copied into in_memory and then the in_memory and original gps data are joined back to the split line. One join to startxy the other to endxy. The resulting combination of joins identifies that line because it is the only line where its joined data for start and end are not null.
I've suggested this approach as this is the path you have started down. A completely alternative approach is to use linear referencing, where you convert your line to a measured route, then you locate your gps points as events then you build linear route events along the route. This takes less steps, probably quicker but relies on you understanding what a measured (polylineM) dataset is and how to handle it, that's all in the help file.