Have you used tracer to compare the outcome for workign and non working scenarios ?
I assume that some parameter might be missing or some context is wrongly set when you are attemtpting to call it from button. And running tracer and compare the sequence of events should be the idel next step for this.
I faced the issue at my end as well and you may try this approach. It's working at my end.
Instead of directly running the activity Refresh the section and in the pre activity of the section define an activity of your own and within that activity use "Call pxConvertResultsToCSV" and then specify your parameters.
In teh above screenshot "CSVPagelist" is my pagelist property and Name is one of my properties in that pagelist and my downloaded excel would look like below.
Meanwhile I shall try to understand why a RunActivity is not working. Please let us know if you face any issue with the above approach .