Are there academic reasons to only use journal articles and books when writing?
If you build your work upon other people's work, whether it be a blog post or postage stamp, then you should cite it, otherwise that's plagiarism. This is especially the case if the work is a primary source of the research (which can even be the case for blog posts). 

That said, there are some guidelines you can follow to get the best version of the work to cite.


Find the most recent or most authoritative/official version of the work. If the paper is an unpublished workshop paper, is there a corresponding conference or journal paper that was later published? Or is the work perhaps written up in a masters or PhD thesis?
Find the primary source. Is the blog post (secondary source) a distillation of some other paper (primary source)? If so, go for that primary source. Is the Wikipedia article (tertiary source) based on some well-known book or article (primary source)? If the report from an NGO is original research (primary source) then you should cite it. If not, determine what it is based on an cite that.