For the text label issue, you'll need to change your custom formatter to return the dataset label instead:

formatter: function(value, context) {

The datalabels plugin does not support multiple labels per bar to the best of my knowledge. You'll need to manually draw one of the labels yourself following something like this SO answer: How to show data values or index labels in ChartJs (Latest Version).

Related Query

More Query from same tag