Seems like the Android printing API hides the printer details to the regular apps. Only a PrintService has this knowledge, but a PrintService is made to let other apps print: it doesn't print anything by itself - it's like a printer driver in the PC world.
The PrinterDiscoverySession is an abstract class implemented by a PrintService; it tells the PrintService when it's time to scan for the available printers in the network (wifi, bluetooth, cable, this is up to the PrintService implementation) and to report back the list of printers found. This list is only used by Android and its system activities, but never (AFAIK) shared with the apps.