Почему routes путает контроллеры?
Порядок роутов поменяй, а потом почитай документацию и подумай.
Поставь в таком порядке 
Route::get('karta-sajta', 'SitemapController@index')->name('sitemap');
Route::get('{slug}', 'BlogController@show')->name('post');