I think you need to step back and not worry about SCRUM and sprints.
You have a small team, and multiple clients with multiple projects that they want done.
Focus on one client or one project
For each client and project, it is a good idea to do a rough estimate of the earned value. If possible, as others here have said, try to reduce the number of clients or projects to the highest value client/project.
It is a bad business situation to be in, but if you are small and just starting this is how things will just have to be until you save enough money to hire additional developers and designers. (This is why agencies always look to develop products in the far future, to avoid being reliant only on particular clients and the client/project pipeline).
Add a buffer to time estimates
When you do plan each project, add a buffer for each phase that accounts for the context-switching that will happen. The context switch can happen in the form of maintenance or features (depending on your contractual obligations).
Focus on one tech stack or technology
Try to consolidate the projects so that they are using the same codebase or the same frameworks or libraries or tools. This will reduce context-switching and it's what allows a lot of web development agencies to complete projects quickly and successfully.
For example, I worked at a place that used Python/Django/PostgreSQL for all projects. If a client wanted to use some other technology, it would increase the price of the project (to account for training or hiring new developers). Most clients were content to leave the technology choice up to the agency.
At another company, we only used Drupal and Wordpress which enabled us to get clients who wanted an enterprise-level CMS site or a small business website. The tools gave us the flexibility to work on small sites or large sites.
SCRUM and project management and sprints
Your big problem with multiple projects will be context-switching. A developer and designer will have to switch their workflow. For larger tasks you will need to add a day before any "real" work gets done, for the largest tasks you may need to add 2-3 days for the team member to get back on track. For small tasks you might be able to get away with half a day or a few hours for the context-switch.
You need to set expectations of when client updates/meetings can happen and when you can respond to emergencies and requests from clients. This will allow you to group of chunks of time in order to reduce context-switching.
- 1 client, 1 project: the ideal, your team is focused on getting one project done, there is no context-switching
- 1 client, 2 projects: almost ideal, your team can deliver updates and focus on 1 client's needs
- 2 clients, 2 projects: going to run into trouble with timing and schedules at some point, your team will need to focus on one client and then switch focus to another. You will run into dependencies from developers to designers to clients about which days are good for meetings and when certain tasks have to be finished. You may want to hire temporary help. A good idea is to schedule 1 client/project for the first half of the week and the other client/project for the other half of the week or to alternate between weeks (1 project per week).
- 2+ clients, 2+ projects: you need to hire more people and split them into teams that focus on 1-2 projects or clients at most.