Nothing but normal here. Let's have a look at the way your vi execute :
The Counter cluster is read. Of course this occurs before you could have a chance to change something in it. Then there is a call to the subvi. At nearly the same time, the Counter cluster value is transfered to the bundle node. Then we wait for the subvi to return the new counter value. Once this happen, the Counter cluster value is updated with the new counter value, and written back to the Counter cluster. And a new loop iteration is started again.
Clearly, the only chance to update the random button or the counter name would be to write it during the time left after the write operation at the end of a loop iteration, and before the read operation at the beginning of a new loop iteration. About one clock cycle. Less than a nano second !.. 😮
Just slow down things a bit by adding a small delay node (100 ms is allright) in your main vi loop, so you'll have some opportunity to have your changes taken into account and everything will go fine !..
Chilly Charly (aka CC)