On the WHERE clause you need to specify a Tuple. A Tuple is an unordered set of members from 1 or more dimensions.
Try this:
WITH
SET [TopProducts] AS TOPCOUNT([Products].[Name].Members,10,[Measures].[Likes])
MEMBER [Ages].[Range] as Aggregate( [Ages].[Age].[1]:[Ages].[Age].[24] )
SELECT {[Measures].[Likes]}
ON COLUMNS, {[TopProducts]}
ON ROWS FROM [Likes]
WHERE ( [Ages].[Range], [Date].[Year].[2014] )
The Aggregate function takes a set and returns a member which is the aggregation of all elements of the set. Now your tuple on the WHERE clause is correct, as it references two members of two different dimensions.