Emirates is right on the regulation part. EC261 wouldn’t apply since the flight originated outside the EU on a non EU carrier, even though the final destination was Europe. So there’s no legal compensation angle to push.
That said, 50k Skywards miles per person is actually a decent goodwill offer. It’s not life changing, but it’s more than Emirates often gives in these situations. Cash reimbursement for missed hotels and activities at your destination is very rarely covered by airlines, even when they’re at fault.
You can try asking politely for hotel and meal reimbursement if Emirates didn’t already cover your overnight in Dubai, but for Prague costs, they almost certainly won’t budge. The miles are probably the best you’ll get.
If you can use Skywards miles, I’d take the offer.