Stumped - Returning Count of Observations

I have the current statement:

SELECT DISTINCT CAST([WhenOccurred] AS DATE) AS ‘DateOf’
FROM [DBName].[MyApp].[ErrorLog]
WHERE [WhenOccurred] > '2/1/2023' AND UPPER([ErrorMessage]) LIKE '%TIMEOUT%'

Which returns the Dates that meet the criteria.

I would like to Count the Observations for each date.

I have tried:
SELECT DISTINCT CAST([WhenOccurred] AS DATE) AS 'DateOf',
(
SELECT COUNT(*)
FROM [DBName].[AppName].[ErrorLog] AS Tbl2
WHERE CAST(Tbl2.WhenOccurred AS DATE) = 'DateOf'
) AS [CountOf]

FROM [DBName].[AppName].[ErrorLog] AS MnTbl
WHERE [WhenOccurred] > '2/1/2023' AND UPPER([ErrorMessage]) LIKE '%TIMEOUT%'

I receive the following error…
Conversion failed when converting date and/or time from character string.

Wahoo, keep changing things, it will eventually work...

Here is the script that functions...YAH!

SELECT DISTINCT CAST(MnTbl.WhenOccurred AS DATE) AS 'DateOf',
(
SELECT COUNT(*)
FROM [SampleIQ_U13].[SampleIQ_App].[ErrorLog] AS Tbl2
WHERE CAST(Tbl2.WhenOccurred AS DATE) = CAST(MnTbl.WhenOccurred AS DATE)
) AS [CountOf]

FROM [SampleIQ_U13].[SampleIQ_App].[ErrorLog] AS MnTbl
WHERE MnTbl.WhenOccurred > '2/1/2023' AND UPPER(MnTbl.ErrorMessage) LIKE '%TIMEOUT%'

Have you tried this:

SELECT CAST(WhenOccurred AS date) [DateOf], COUNT(*) CountOf
FROM [SampleIQ_U13].[SampleIQ_App].[ErrorLog] 
WHERE WhenOccurred > '20230201' AND UPPER(ErrorMessage) LIKE '%TIMEOUT%'
GROUP BY CAST(WhenOccurred AS date)