string.Trim returns a new string instance. So you have to somehow use that new instance.
You are not doing that in your code.
Furthermore, it is not possible with ForEach. At first glance, the following could work:
m_days.ToList().ForEach(d => { d = d.Trim(); });
But that isn't going to help you either, because d is not passed by reference, so you are only changing the local parameter that has been passed into your delegate and not the instance stored in the list.
You most likely want this:
var result = days.Split(',').Select(x => x.Trim()).ToList();
An alternate way without LINQ would look like this:
var split = days.Split(',');
for(int i = 0; i < split.Length; ++i)
split[i] = split[i].Trim();