Typically when a phrase like "between the age of 18 - 50 years" is used then the data should be subsetted to that range, typically with a Where statement or data set option. Your frequencies for Age don't show any ages outside that range so go so far.
However you apparently have multiple "gender" variables and we have no way of knowing which is the "current" value. From the request, that is the only one that should be used.
Since the request says "a frequency table of current gender and sexual orientation " I would normally interpret that as meaning first, one table, not 6 plus and graphs, and second that you have gender and orientation in a single table. If race is not part of the request do not include it, if required then describe how race is supposed to be included.
In Proc Freq that would be a Tables statement like: Tables genderc*sex_o;
With the stated requirement and the shown output, if I were grading this as an assignment it would likely get a D because no where do you have gender and orientation together.
If the requirement does not want graphs then turn of the graphs before running proc freq.