It's not up the miners to decide the fees, but It's up to them to decide which transactions they want to include in their blocks and usually, they choose the ones with the higher fees.
Indeed, usually. With enough hash power and the right motives, maybe not. I'm pretty sure that Bitmain has been spamming the blockchain, creating bottlenecks by creating congestion at multiple fee rates. They can sustain the attacks because of their vast hash rate; they recoup the attack costs in the process by prioritizing their own transactions. LaurentMT did some research on this.