SOQL always returns results as a
List<SObject>, even if there are no rows to return (in which case, the list would be empty/contain no items).
When we expect a single row to be returned, Salesforce allows us to take a bit of a shortcut. Instead of
List<Account> accountsList = [SELECT Id FROM Account LIMIT 1];
Account myAcc = accountsList;
We can just assign the result of the query to a single variable
Account myAcc = [SELECT Id FROM Account LIMIT 1];
The problem is that, for this shortcut to work, the query must return exactly one row. If it returns no rows, you run into the error you're seeing (a slightly different error is given if the query returns 2+ rows).
The error message should also include a stack trace (basically, the list of classes and methods that were called that ended up giving you your error). This should tell you both the class name and the approximate line number that the error occurred on.
Start at the top of your list, and look at the indicated line number until you find a query being assigned to a single variable instead of a collection.
Finding the issue is one thing. Fixing it will require some developer skills.