Thank to @Milo I was able to solve this
1) Delete anything that might be reserving /blog/
url. In my case, It was a singular page with URL /blog/
.
2) Modify custom post type declaration so it has 'has_archive' => true
3) Create archive-blog.php
and move your code here. (You can just use global query object for this custom post type)
4) Refresh permalink few times by settings it back to plain to custom (It actually refreshes your URL permalink.
5) Works.