The German government has approved a draft law to fine social networks up to 50 million euros ($53m) if they fail to remove hateful postings and fake news reported by users quickly, prompting concerns over freedom of expression.