Using the median for non parametric (Likert) data, when it gives you a decimal place
You are using the wrong justification for using the median. The only reason you can even consider using a median or mean with Likert data is because there is meaning to values between Likert items. If you have "Agree" and "Strongly Agree" there is definitely the possibility of some value where someone agrees more strongly than agree but less strongly than strongly agree.

However, you lose a ton of information when you calculate the median of a Likert-like item, and it can be dangerous to do so when the shapes of the response distributions vary. Let's consider a case where you have 5 levels. These two count vectors give you the same median '3':

A = [5 5 50 20 20]

B = [20 20 50 5 5]

but the distributions are quite different and the median is not very informative about that difference.

You may consider using the "interpolated median" which treats a Likert item as indicating the interval between adjacent items, for example a "3" really means "somewhere on the interval [2.5 3.5]."

For the cases A and B above, the interpolated medians are:

mintA = 3.3

mintB = 2.7