I'm quite interested in the subject and I'll show you how I might have resolved your problem. Following your comment, your main requirement is clearer now: essentially you'd like to display a point for each coordinate and its relative label, without having overlapping labels (i.e. you need the ability to move the labels around manually or let the program do that for you automatically).
Try GpsPrune: it's able to move the label around the point automatically so that it doesn't overlap with other labels. I'd say the result is acceptable most of the times.
First of all, what is GpsPrune?
GpsPrune is an application for viewing, editing and converting
coordinate data from GPS systems.
It can load data from arbitrary text-based formats (for example, any
tab-separated or comma-separated file) or Xml, or directly from a GPS
receiver. It can display the data (as map view using openstreetmap
images and as altitude profile), edit this data (for example delete
points and ranges, sort waypoints, compress tracks), and save the data
(in various text-based formats). It can also export data as a Gpx
file, or as Kml/Kmz for import into Google Earth, or send it to a GPS
receiver.
It is open source (see the GpsPrune download page) and it is written in Java, so it should run on any major desktop OS (I run it on Ubuntu).
Since I don't have your input file, I've tested it with a random CSV file I found on the internet containing (close) coordinates for some kind of fishing spots on a lake. This is a subset of that file, each record made of an ID (the label), the latitude and the longitude:
196, 31.600763, -97.243546
197, 31.600828, -97.243648
198, 31.600843, -97.2439
199, 31.600898, -97.244036
200, 31.601078, -97.244414
201, 31.601064, -97.24462
I've loaded the file (File
-> Open file
) and simply configured the input according to my case:

In the end, this is the result:

By zooming out you can see the labels moving in a way that don't overlap with each other:

Obviously you'll reach a level when the data displayed becomes unclear and poorly readable, but that's something you can't avoid.
The map is from OpenStreetMap and it's shown/downloaded automatically if enabled. The map can be zoomed and panned, you can export as KML, GPX, POV, SVG, image.