While the advice below still holds...
The information you have recently provided, provided that it was obtained while the only devices connected to the internet were the speed-testing computer and the modem or router, has shown that this is an issue at your provider's endsee details. 2 Mbps is clearly not going to suffice for 720P streaming and an online game at the same time (not to mention your other devices).
But, your provider isn't being cooperative. What can you do as a consumer? Well, the very first thing you should do is to read your contract. Pay specific attention to any degree of Quality of service, or how long an outage is allowed to last. Periodic degradation of service like this may indeed not be covered.
In the worst case scenario, your contract merly stipulates that advertised speed is only a target, and real world performance is fully divorced from it. Your end of the bargain is a connection, but the speed isn't specified, it's just 'best effort'. If local law allows for this, you would have to change your connection package. What's usually the case in these jurisdictions is that there's a second type of connection, e.g. a 'Business' connection where ISPs are required to offer a certain degree of quality of service.
If it is the case that you should be getting a certain speed (local laws / contract details), you're not getting it, and the provider isn't cooperating? You would have to pull in the government to help you. Your ISP is liable for breach of contract in failing to arrange the required bandwidth. Depending on the country the steps will differ. The escalation of steps looks a bit like:
- Hoard all data pertaining to the problem. This means all correspondence with your ISP, ideally in writing. Multiple logs of speed tests done at varying times of the day and on multiple days, clearly showing what the problem is.
- Sending an e-mail lodging a complaint to the consumer protection agency.
- Waiting a period of time for the ISP to respond to an angry official letter.
- If you think the response is unsatisfactory (say, it is ignored), file a formal legal complaint. This is going to be expensive. More expensive than going with another ISP for a single consumer, certainly. It might lead to a refund and lowered speeds. For example the ISP might stipulate that they can only deliver 20/2 Mbit connections betwen 16:00 and 24:00.
- Actually suing the ISP for negligence or abuse. Two examples of when this happened in the links.
This is what the consumer protection agencies might do if nothing comes of it, and it's a widespread problem affecting many (millions of) consumers. Many formal complaints make involvement more likely. It's extremely expensive. Likely more expensive than buying another house, or starting your own ISP company to compete with the poor service.
It's highly likely your ISP is underprovisioning their network, if the quality of your connection is highly correlated with the time of day. For example, they might be using a single gigabit link in the data center to serve a thousand homes.
9-10 PM tends to be the busiest time-of-day on the internet. Most adults are at home and awake, kids are awake, dinner time has passed, it's dark outside leads to ==> everyone is on their devices. With the pandemic closing off many leisure activities, there's a sudden jump in data usage. If you were to test your connection at, say, 3:30 AM, is it true that you have flawless performance?
Here's a bunch of things you can do to attempt to improve things on your end:
First; Do you experience latency issues when not streaming?
Next: Have you isolated your traffic (using e.g. a Firewall device) to figure out if there may be some other device on your network interfering? For example: Torrent traffic (and this includes many modern download services like Steam) can be quite aggressive with its bandwidth usage.
Have you tried measuring your bandwidth usage?
Have you tried measuring your latency? (Setup, let's say 1,000 pings, one per 5 seconds, to the target server and graph the latency).
Have you checked for packet loss?
Have you tried physically moving your wireless receiver, and seeing whether you can get better (or worse) connectivity that way? Note: there exist off-the-shelf devices that can test the strength of a wireless signal. There are also wireless repeaters available which can help with the connection, if the ISP allows you to setup such a thing.
(Advanced) You may try to use QoS traffic shaping on your firewall. If you don't have access, it can be done locally on the PC as well via software. You want to prioritize (raise the QoS bit) for all packets other than your streaming packets, signalling to your ISP that these have higher priority. This should result in more stable latency.
You can also use this to 'reserve' a part of your connection for the game packets, especially if you know where the streaming packets are going.
For example, you could instruct your Firewall to bucket all upload traffic to twich.tv into a 'stream' bucket and restrict it to 4mbps, at a lower prio than the 'game' bucket which includes all the traffic to the game servers, for which we budget say 2mbps. If the connection has a latency spike, the stream will go out first before there is in-game lag.
Depending on your needs, that may be as simple as an off-the-shelf solution where you can enable 'gaming mode' with a tickbox, or, if you have more of a DiY setup, involve something like tc at the other end of the freedom (and complexity!) spectrum. The latter is guaranteed to work with any network config, but may be a pain to set up properly.
Finally, various devices may interfere with the quality of a WiFi connection. This would mean streaming should not affect the connection (and it always being poor) though.
Note: there may be some overlap between the https://networkengineering.stackexchange.com/ site and this question: there's lots of information available there for you to search further.