Suddenly my phone does not detect my SIM while it detects service providers' names
The SIM card isn't actually what allows your phone to connect to a network, but it has your subscriber details (i.e. the information that links the phone with your account with the phone company). If you think of it like the Amazon website, you can load the site and look at goods without logging in, but you need your login details to actually place an order. Typically you can connect to any network without a SIM card, but the network will only let you make emergency calls.

As you suspected, there might be a problem with the hardware of your phone reading the SIM card, in which case you'll have to replace the parts as the phone company suggested. One other possibility is that the SIM card is slightly loose in the tray, and it's worth looking at this first. This is especially likely if it works sometimes, and if (as you say) it's only this combination of SIM and phone that doesn't work reliably. I had a similar problem once with a SIM I'd cut myself to micro-SIM size: it was slightly too small, and any impact to the phone would knock it loose, putting the phone into "emergency calls only" mode.

If the SIM card is too loose, a piece of tape or stuck over the side without the contacts might help to keep it in place, or use a small piece of paper inside the SIM card tray (if you have one).

Also, if it's only this SIM card that doesn't work with the phone, it's worth asking your phone company for a replacement. Typically they'll send a replacement for free, and if there is a charge it'll be much smaller than a phone repair. There might be some nuisance about getting the new SIM card associated with the old phone number.