Столкновение имен вашего маршрута конфликтует, вам нужно дать вашим маршрутам уникальные имена.
Route::get('/products/{page?}', 'ProductController@index')->name('products.page');
Route::get('/products/{category}/{page?}', 'ProductController@index')->name('products.category.page');
Назовите маршрут с новым именем.
{{ route('products.page') }}
Если вы хотите получитьмаршрут для маршрута с параметром категории.
{{ route('products.category.page', $category) }}