Answer for QGIS 3.x:
A) For the CRS name of a specific layer use this:
Add this script to your custom functioneditor:
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def get_crs(layer_name, feature, parent):
return QgsProject.instance().mapLayersByName(layer_name)[0].crs().description()

and then get the crs name in expression editor with
get_crs(@layer_name)

Or use the expression layer_property( @layer_name, 'crs_description')
as suggested by @etrimaille
B) For the CRS name of your project (for example projection in your print layout) use this:
Add this script to your custom functioneditor:
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def get_projectcrs(project_crs, feature, parent):
return QgsCoordinateReferenceSystem(project_crs).description()

and then get the crs name in expression editor with:
get_projectcrs(@project_crs)

Of course you can also type in e.g. 'EPSG:4326'
manually or use another function than @project_crs
which returns an EPSG-code. E.g. get_projectcrs('EPSG:3006')
Notes:
Also take a look at https://qgis.org/api/api_break.html for more information about changes in QGIS 3.x